__uuidof – operátor
Specifické pro Microsoft
Získá identifikátor GUID připojený k výrazu.
__uuidof (
expression
)
Poznámky
Výraz může být název typu, ukazatel, odkaz nebo pole tohoto typu, specializovaná šablona pro tyto typy nebo proměnná těchto typů.Argument je platný, pokud kompilátor může najít připojený identifikátor GUID.
Zvláštní případ je, pokud je zadána 0 nebo NULL jako argument.V tomto případě __uuidof vrátí identifikátor GUID, který je tvořen nulami.
Pomocí tohoto klíčového slova je možné extrahovat identifikátor GUID přiřazený:
[!POZNÁMKA]
V sestavení ladění __uuidof vždy inicializuje objekt dynamicky (za běhu).V sestavení pro vydání může __uuidof inicializovat objekt staticky (v době kompilace).
Příklad
Následující kód (zkompilován s ole32.lib) zobrazí identifikátor uuid vytvořeného knihovního bloku 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 již název knihovny není v rozsahu, je možné použít __LIBID_ namísto __uuidof.Příklad:
StringFromCLSID(__LIBID_, &lpolestr);
Specificka produktu Microsoft END