none
IDL 中自定义类型的 UUID 的问题! RRS feed

  • 问题

  • 我在 IDL 文件中使用了一个 UDT。

    参考了 MSDN 中 的那个 StudentStruct,可是我返现  编译出来的 文件是下面这个样子的。

    typedef /* [uuid] */  DECLSPEC_UUID("D8B3861A-74C6-11d2-A0D6-00C04FB17CDB") struct tagStudentStruct

    我使用 UUID_* 或者 __uuidof 的时候,提示错误。

    可是,参考 uuid的部分,
    uuid的定义应该是这样的。

    struct __declspec(uuid("00000000-0000-0000-c000-000000000046")) IUnknown;
    struct __declspec(uuid("{00020400-0000-0000-c000-000000000046}")) IDispatch;

     

    我查看了 interface 的 uuid,也是正确的,唯有 UDT的 __declspec(uuid(x)) 和 struct 的顺序是反过来了。

     

    请教一下,这是我在什么地方有错误,还是编译器的问题。

    我在使用 GetTypeInfoOfGuid 的时候,碰到这个问题。

    第一次做 UDT,请高手指点。

    2011年3月26日 4:06