__uuidof 运算符
Microsoft 专用
检索 GUID 并附加到表达式。
__uuidof (
expression
)
备注
该 表达式 可以是类型名称、指针、引用或该类型的数组、特定类型的模板或这些类型的变量。 只要编译器可以使用它查找附加的 GUID,自变量就是有效的。
内部函数的一个特例就是当在 0 或 NULL 中作为参数提供。 在这种情况下,__uuidof 将返回由零组成的GUID。
使用此关键字用以提取附加的 GUID:
备注
在调试版本中,__uuidof 总是动态初始化一个对象 (运行时)。当发布版本时,__uuidof 可以静态初始化对象(在编译时)。
示例
下面的代码 (使用ole32.lib编译) 将显示一个创建模块属性库块uuid:
// expre_uuidof.cpp
// compile with: ole32.lib
#include "stdio.h"
#include "windows.h"
[emitidl];
[module(name="MyLib")];
[export]
struct stuff {
int i;
};
int main() {
LPOLESTR lpolestr;
StringFromCLSID(__uuidof(MyLib), &lpolestr);
wprintf_s(L"%s", lpolestr);
CoTaskMemFree(lpolestr);
}
注释
当库名不再在范围之内,你可以使用__LIBID_而不是 __uuidof。 例如:
StringFromCLSID(__LIBID_, &lpolestr);
结束 Microsoft 专用