Sdílet prostřednictvím


__uuidof – operátor

Specifické pro Microsoft

Získá identifikátor GUID připojený k výrazu.

Syntaxe

__uuidof (výraz )

Poznámky

Výrazem může být název typu, ukazatel, odkaz nebo pole tohoto typu, šablona specializovaná na tyto typy nebo proměnná těchto typů. Argument je platný, pokud jej kompilátor může použít k vyhledání připojeného identifikátoru GUID.

Speciální případ tohoto vnitřního objektu je, když jako argument zadáte hodnotu 0 nebo NULL. V tomto případě __uuidof vrátí identifikátor GUID tvořený nulami.

Pomocí tohoto klíčového slova je možné extrahovat identifikátor GUID připojený k:

  • Objekt rozšířeným atributem uuid .

  • Blok knihovny vytvořený s atributem module .

Poznámka:

V sestavení __uuidof ladění vždy inicializuje objekt dynamicky (za běhu). V sestavení __uuidof vydané verze může inicializovat objekt staticky (v době kompilace).

Kvůli kompatibilitě s předchozími verzemi _uuidof je synonymem, pokud __uuidof není zadána možnost /Za kompilátoru (Zakázat jazyková rozšíření ).

Příklad

Následující kód (zkompilován s knihovnou ole32.lib) zobrazí identifikátor uuid vytvořeného bloku knihovny 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 název knihovny již není v oboru, můžete použít __LIBID_ místo __uuidof. Příklad:

StringFromCLSID(__LIBID_, &lpolestr);

END Microsoft Specific

Viz také

Výrazy s unárními operátory
Klíčová slova