Operatore di __uuidof
Specifici di Microsoft
Recupera il GUID collegato all'espressione.
__uuidof (
expression
)
Note
espressione può essere un nome di tipo, un puntatore, un riferimento, oppure una matrice di questo tipo, un modello specifico sui tipi, o di una variabile di questi tipi.L'argomento è valido finché il compilatore possibile utilizzarlo per trovare il GUID collegato.
Un caso speciale di questa funzione intrinseca è quando uno 0 o NULL viene fornito come argomento.in questo caso, __uuidof restituirà un GUID costituita dagli zeri.
Utilizzare questa parola chiave per disegnare il GUID collegato:
[!NOTA]
In una build di debug, __uuidof inizializza sempre dinamicamente un oggetto (in runtime).In una build di rilascio, __uuidof essere statico (in fase di compilazione) consentono di inizializzare un oggetto.
Esempio
Il codice seguente (compilato con ole32.lib) visualizzare 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 è più in, è possibile utilizzare il __LIBID_ anziché __uuidof.Di seguito è riportato un esempio:
StringFromCLSID(__LIBID_, &lpolestr);
Microsoft FINALE specifico