__uuidof-Operator

Microsoft-spezifisch

Ruft die GUID ab, die dem Ausdruck angefügt ist.

Syntax

__uuidof (expression)

Hinweise

Der Ausdruck kann ein Typname, Zeiger, Verweis oder Array dieses Typs, eine vorlage sein, die auf diese Typen spezialisiert ist, oder eine Variable dieser Typen. Das Argument ist gültig, solange der Compiler es verwenden kann, um das angefügte GUID zu suchen.

Ein Sonderfall dieser systeminternen Eigenschaft ist, wenn entweder 0 oder NULL als Argument angegeben wird. In diesem Fall wird eine GUID zurückgegeben, __uuidof die aus Nullen besteht.

Verwenden Sie dieses Schlüsselwort, um die an folgende Elemente angefügte GUID zu extrahieren:

  • Ein Objekt durch das uuid erweiterte Attribut.

  • Ein bibliotheksblock, der mit dem module Attribut erstellt wurde.

Hinweis

Initialisiert in einem Debugbuild __uuidof immer ein Objekt dynamisch (zur Laufzeit). In einem Releasebuild __uuidof kann ein Objekt statisch (zur Kompilierungszeit) initialisiert werden.

Aus Gründen der Kompatibilität mit früheren Versionen _uuidof ist ein Synonym für __uuidof die Angabe der Compileroption /Za (Sprachenerweiterungen deaktivieren).

Beispiel

Mit dem folgenden Code (kompiliert mit "ole32.lib") wird das "uuid" eines Bibliotheksblocks angezeigt, 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 sich der Bibliotheksname nicht mehr im Bereich befindet, können __LIBID_ Sie anstelle von __uuidof. Beispiel:

StringFromCLSID(__LIBID_, &lpolestr);

Ende Microsoft-spezifisch

Siehe auch

Ausdrücke mit unären Operatoren
Schlüsselwörter