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