Operator __uuidof
Specyficzne dla firmy Microsoft
Pobiera identyfikator GUID dołączony do wyrażenia.
__uuidof (
expression
)
Uwagi
Wyrażenie może być nazwą typu, wskaźnikiem, odwołaniem lub tablicą tego typu, szablonem lub zmienną tych typów.Argument jest ważny tak długo, jak długo kompilator może użyć go do wyszukania dołączonego identyfikatora GUID.
Szczególnym przypadkiem wewnętrznym jest, gdy 0 lub wartość NULL jest podawana jako argument.W tym przypadku __uuidof zwróci identyfikator GUID składający się z zer.
Użyj tego słowa kluczowego, aby wyodrębnić identyfikator GUID dołączony do:
[!UWAGA]
W kompilacji debugowania, __uuidof zawsze inicjalizuje obiekt dynamicznie (w czasie wykonywania).W kompilacji wydania, __uuidof może zainicjować obiekt statycznie (w czasie kompilacji).
Przykład
Poniższy kod (skompilowany z biblioteką ole32.lib) wyświetli uuid bloku biblioteki utworzonej przy pomocy atrybutu moduł:
// 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);
}
Komentarze
W przypadkach, gdy nazwa biblioteki nie jest już w zasięgu, można użyć __LIBID_ zamiast __uuidof.Na przykład:
StringFromCLSID(__LIBID_, &lpolestr);
KONIEC informacji specyficznych dla firmy Microsoft