PRB: "Warning MIDL2368" When UDT Tag Name Differs from UDT Name

This article was previously published under Q285146
This article has been archived. It is offered "as is" and will no longer be updated.
When the IDL file has a user-defined type (UDT) structure as follows:
typedef [uuid(01234500-89AB-CDEF-0123-456789ABCDEF)]struct tagMyUDT {    [helpstring("Name")]          BSTR Name;    [helpstring("Address")]        BSTR Address;  } MyUDT;				
Microsoft Interface Definition Language (MIDL) gives the following warning:
warning MIDL2368 : error generating type library, ignored : Could not set UUID : tagMyUDT
You do not receive a warning if the UDT is an ENUM.
When you define a structure whose tag name is different from the struct name, MIDL generates a TKIND_ALIAS for the tag name. MIDL tries to set the universally unique identifier (UUID) on both the UDT itself and the tag (TKIND_ALIAS), and OLE Automation does not accept the same UUID on two entries, even though they are the same.
You can safely ignore the MIDL2368 warning. To work around this problem, rename the tag name of the structure so that it is the same as struct name.
For more information on UDTs, see the following Microsoft Web site:

Article ID: 285146 - Last Review: 01/17/2015 16:20:20 - Revision: 1.3

Microsoft COM+ 2.0 Standard Edition

  • kbnosurvey kbarchive kbmidl kbnofix kbprb KB285146