Sdílet prostřednictvím


__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ý:

  • Objektu pomocí rozšířeného atributu uuid.

  • Knihovnímu bloku vytvořenému s atributem module.

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

Viz také

Referenční dokumentace

Výrazy s unárními operátory

Klíčová slova jazyka C++