Partager via


__uuidof, opérateur

Spécifique à Microsoft

Récupère le GUID associé à l'expression.

__uuidof ( 
   expression  
)

Notes

L' expression peut être un nom de type, un pointeur, une référence, ou un tableau de ce type, un modèle spécifique de ces types, ou une variable de ces types. L'argument est valide tant que le compilateur peut l'utiliser pour rechercher un GUID associé.

Un cas particulier de cette fonction intrinsèque est lorsque 0 ou NULL est fourni comme argument. Dans ce cas, __uuidof retourne un GUID composé de zéros.

Utilisez ce mot clé pour récupérer un GUID associé :

  • Un objet par l'attribut étendu uuid.

  • Un bloc bibliothèque créé à l'aide de l'attribut module.

Notes

Dans une version Debug, __uuidof initialise toujours un objet dynamiquement (au moment de l'exécution).Dans une version Release, __uuidof peuvent (au moment de la compilation) initialiser statiquement un objet.

Exemple

Le code suivant (compilé avec ole32.lib) affichera l'uuid d'un bloc bibliothèque créé avec l'attribut 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);
}

Commentaires

Dans les cas où le nom de la bibliothèque n'apparaît plus dans la portée, utilisez __LIBID_ au lieu de __uuidof. Par exemple :

StringFromCLSID(__LIBID_, &lpolestr);

END Spécifique à Microsoft

Voir aussi

Référence

Expressions avec opérateurs unaires

Mots clés C++