Microsoft KB Archive/285146

From BetaArchive Wiki
Knowledge Base


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

Article ID: 285146

Article Last Modified on 7/12/2001



APPLIES TO

  • Microsoft COM+ 2.0 Standard Edition



This article was previously published under Q285146

SYMPTOMS

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.

CAUSE

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.

RESOLUTION

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.

REFERENCES

For more information on UDTs, see the following Microsoft Web site:


Additional query words: MIDL2368 UDT UUID

Keywords: kbnofix kbprb kbmidl KB285146