оператор __uuidof
Только для систем Microsoft
Извлекает идентификатор GUID вложенное к выражению.
__uuidof (
expression
)
Заметки
Выражение могут быть имя типа, указатель ссылка или массив этого типа шаблона специализированного об этих типах или переменной этих типов.Аргумент допустим, если компилятор может использоваться для поиска вложенное GUID.
Особый случай, когда то данного внутреннего элемента 0 OR Значение NULL предоставляет в качестве аргумента.В этом случае __uuidof возвращает идентификатор GUID структурированное нулей.
Используйте это ключевое слово для извлечения вложенное GUID:
Объект UUID расширенный атрибут.
Блок библиотеки, созданный с Модуль атрибут.
Примечание |
---|
В отладочном построении, __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);
ЭЛЕМЕНТ, относящийся Майкрософт