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