COM 客户端代码如何引用类型库中的 IID?
How does COM client code refer to the IID in the type library?
编译源代码中包含类似
行的COM客户端
#import "../server/IFoo.tlb"
在当前工作目录中生成ifoo.tlh。
在ifoo.tlh中,有被函数(或类似函数的宏)调用包装的字符串形式的IID,例如uuid("6bee2d26-f3d8-11d4-825d-00104b3646c0")
,这意味着 .tlh 文件肯定知道 IID 的值。问题是,在客户端代码中,我如何在没有 #include
COM 服务器的任何头文件的情况下引用那些 IID?在 .tlh 文件或 .tlb 文件中,是否有任何(编译的)符号表示我们可以在客户端代码中使用的 IID?谢谢
您可以使用 __uuidof operator(Microsoft 专用):
Retrieves the GUID attached to the expression.
Syntax
__uuidof ( expression )
编译源代码中包含类似
行的COM客户端#import "../server/IFoo.tlb"
在当前工作目录中生成ifoo.tlh。
在ifoo.tlh中,有被函数(或类似函数的宏)调用包装的字符串形式的IID,例如uuid("6bee2d26-f3d8-11d4-825d-00104b3646c0")
,这意味着 .tlh 文件肯定知道 IID 的值。问题是,在客户端代码中,我如何在没有 #include
COM 服务器的任何头文件的情况下引用那些 IID?在 .tlh 文件或 .tlb 文件中,是否有任何(编译的)符号表示我们可以在客户端代码中使用的 IID?谢谢
您可以使用 __uuidof operator(Microsoft 专用):
Retrieves the GUID attached to the expression.
Syntax
__uuidof ( expression )