__uuidof
– operátor
Specifické pro Microsoft
Získá identifikátor GUID připojený k výrazu.
Syntaxe
__uuidof (
výraz)
Poznámky
Výrazem může být název typu, ukazatel, odkaz nebo pole tohoto typu, šablona specializovaná na tyto typy nebo proměnná těchto typů. Argument je platný, pokud jej kompilátor může použít k vyhledání připojeného identifikátoru GUID.
Speciální případ tohoto vnitřního objektu je, když jako argument zadáte hodnotu 0 nebo NULL. V tomto případě __uuidof
vrátí identifikátor GUID tvořený nulami.
Pomocí tohoto klíčového slova je možné extrahovat identifikátor GUID připojený k:
Poznámka:
V sestavení __uuidof
ladění vždy inicializuje objekt dynamicky (za běhu). V sestavení __uuidof
vydané verze může inicializovat objekt staticky (v době kompilace).
Kvůli kompatibilitě s předchozími verzemi _uuidof
je synonymem, pokud __uuidof
není zadána možnost /Za
kompilátoru (Zakázat jazyková rozšíření ).
Příklad
Následující kód (zkompilován s knihovnou ole32.lib) zobrazí identifikátor uuid vytvořeného bloku knihovny s atributem module:
// 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);
}
Komentáře
V případech, kdy název knihovny již není v oboru, můžete použít __LIBID_
místo __uuidof
. Příklad:
StringFromCLSID(__LIBID_, &lpolestr);
END Microsoft Specific