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é :
[!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