Udostępnij za pośrednictwem


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:

  • Obiektu poprzez rozszerzony atrybut uuid.

  • Bloku biblioteki stworzonego przy pomocy atrybutu moduł.

[!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

Zobacz też

Informacje

Wyrażenia z operatorami jednoargumentowymi

Słowa kluczowe języka C++