__uuidof, operator

Specyficzne dla firmy Microsoft

Pobiera identyfikator GUID dołączony do wyrażenia.

Składnia

__uuidof (Wyrażenie)

Uwagi

Wyrażenie może być nazwą typu, wskaźnikiem, odwołaniem lub tablicą tego typu, szablonem wyspecjalizowanym dla tych typów lub zmienną tych typów. Argument jest prawidłowy, o ile kompilator może go użyć do znalezienia dołączonego identyfikatora GUID.

Szczególny przypadek tej funkcji wewnętrznej występuje, gdy jako argument podano wartość 0 lub NULL. W takim przypadku __uuidof zostanie zwrócony identyfikator GUID składający się z zer.

Użyj tego słowa kluczowego, aby wyodrębnić identyfikator GUID dołączony do:

  • Obiekt przez uuid atrybut rozszerzony.

  • Blok biblioteki utworzony za pomocą atrybutu module .

Uwaga

W kompilacji __uuidof debugowania zawsze inicjuje obiekt dynamicznie (w czasie wykonywania). W kompilacji __uuidof wydania można statycznie (w czasie kompilacji) zainicjować obiekt.

Aby uzyskać zgodność z poprzednimi wersjami, jest synonimem, _uuidof__uuidof chyba że określono opcję /Za kompilatora (Wyłącz rozszerzenia języka).

Przykład

Poniższy kod (skompilowany za pomocą biblioteki ole32.lib) wyświetli identyfikator uuid bloku biblioteki utworzonego za pomocą atrybutu modułu:

// 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 zakresie, można użyć __LIBID_ zamiast __uuidof. Przykład:

StringFromCLSID(__LIBID_, &lpolestr);

END Microsoft Specific

Zobacz też

Wyrażenia z operatorami jednoargumentowymi
Słowa kluczowe