Partager via


opérateur de __uuidof

Spécifique à Microsoft

Extrait un GUID associé à l'expression.

__uuidof (
   expression 
)

Notes

L'expression peut être un nom de type pointeur, pointeur, référence, ou un tableau de ce type, d'un modèle spécialisé sur 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 intrinsèque est lorsque 0 ou NULL est fourni comme argument.Dans ce cas, __uuidof retournera GUID composé des zéros.

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

  • un objet par l'attribut étendu d' uuid .

  • un bloc bibliothèque créé avec l'attribut de module .

[!REMARQUE]

Dans une version debug, __uuidof initialise toujours un objet dynamiquement (au moment de l'exécution).Dans une version release, __uuidof peuvent statiquement (au moment de la compilation) initialisent 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'est plus dans la portée, vous pouvez utiliser le __LIBID_ au lieu d' __uuidof.Par exemple :

StringFromCLSID(__LIBID_, &lpolestr);

détail de FIN Microsoft

Voir aussi

Référence

Expressions avec des opérateurs unaires

Mots clés C++