Operatore __uuidof
Specifici di Microsoft
Recupera il GUID collegato all'espressione.
__uuidof (
expression
)
Note
L'espressione può essere un nome di tipo, un puntatore, un reference, o un array di quel tipo, un modello specializzato su questi tipi, o una variabile di questi tipi. L'argomento è valido finché il compilatore può utilizzarlo per trovare il GUID collegato.
Un caso speciale di questa funzione intrinseca è quando 0 o NULL viene fornito come argomento. In questo caso, __uuidof restituirà un GUID composto da zeri.
Utilizzare la parola chiave per estrarre il GUID collegato:
Nota
In una compilazione con debug, __uuidof inizializza sempre dinamicamente un oggetto (a runtime).In una build per la release, __uuidof può inizializzare staticamente (in fase di compilazione) un oggetto.
Esempio
Il codice seguente (compilato con ole32.lib) visualizza il uuid di un blocco di libreria creato con l'attributo del modulo:
// 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);
}
Commenti
Nei casi in cui il nome della libreria non sia necessario, è possibile utilizzare __LIBID_ anziché __uuidof. Ad esempio:
StringFromCLSID(__LIBID_, &lpolestr);
Specifica END Microsoft