Freigeben über


__uuidof Operator

Microsoft-spezifisch

Ruft die GUID ab, die dem Ausdruck zugeordnet wird.

__uuidof (
   expression 
)

Hinweise

Der Ausdruck kann ein Typname, einen Zeiger, ein Verweis oder ein Array dieses Typs mit der Vorlage, die auf diesen Typen spezialisiert werden, oder der Variablen dieser Typen sein.Das Argument ist gültig, bis der Compiler verwenden kann, um das angefügte GUID zu suchen.

Ein spezieller Fall diese systeminternen ist, wenn 0 oder NULL als Argument angegeben wird.In diesem Fall gibt __uuidof eine GUID zurück, die aus Nullen formatiert ist.

Verwenden Sie dieses Schlüsselwort, um die GUID zu extrahieren, das angefügt wird:

  • Ein Objekt vom uuid erweiterte Attribut.

  • Ein Library-Block erstellt mit dem Modul-Attribut.

HinweisHinweis

In einem Debugbuild initialisiert __uuidof immer ein Objekt zur Laufzeit dynamisch ().In einem Releasebuild führen __uuidof zur Kompilierungszeit (statisch) initialisieren ein Objekt ein.

Beispiel

Der folgende Code (kompiliert mit ole32.lib) wird das uuid eines Library-Blocks an, der mit dem Modulattribut erstellt wird:

// 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);
}

Kommentare

In Fällen, in denen der Name der Bibliothek nicht mehr im Gültigkeitsbereich befindet, können Sie anstelle __LIBID_ __uuidofverwenden.Beispiele:

StringFromCLSID(__LIBID_, &lpolestr);

Microsoft ENDES bestimmten

Siehe auch

Referenz

Ausdrücke mit unären Operatoren

C++-Schlüsselwörter