__uuidof
, opérateur
Section spécifique à Microsoft
Récupère le GUID attaché à l’expression.
Syntaxe
__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écialisé sur ces types ou une variable de ces types. L’argument est valide tant que le compilateur peut l’utiliser pour rechercher le GUID attaché.
Un cas particulier de cette intrinsèque est lorsque 0 ou NULL est fourni en tant qu’argument. Dans ce cas, __uuidof
retourne un GUID composé de zéros.
Utilisez cette mot clé pour extraire le GUID attaché à :
Remarque
Dans une build de débogage, __uuidof
initialise toujours un objet dynamiquement (au moment de l’exécution). Dans une build de mise en production, __uuidof
peut initialiser statiquement (au moment de la compilation) un objet.
Pour la compatibilité avec les versions précédentes, _uuidof
est un synonyme de __uuidof
l’option /Za
du compilateur (Désactiver les extensions de langage) spécifiée.
Exemple
Le code suivant (compilé avec ole32.lib) affiche l’uuid d’un bloc de bibliothèque créé avec l’attribut de 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 l’étendue, vous pouvez utiliser __LIBID_
au lieu de __uuidof
. Par exemple :
StringFromCLSID(__LIBID_, &lpolestr);
FIN de la section spécifique à Microsoft
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour