Partilhar via


Operador __uuidof

Específico da Microsoft

Recupera o GUID vinculado à expressão.

__uuidof ( 
   expression  
)

Comentários

The expressão pode ser um nome de tipo, um ponteiro, uma referência ou uma matriz desse tipo, um modelo especializado nesses tipos ou uma variável desses tipos. O argumento é válido enquanto o compilador puder usá-lo para localizar o GUID vinculado.

Um caso especial desse intrínseco é quando 0 ou NULL são fornecidos como o argumento. Nesse caso, __uuidof retornará um GUID composto de zero.

Use essa palavra-chave para extrair o GUID vinculado a:

  • Um objeto pelo atributo estendido uuid.

  • Um bloco de biblioteca criado com o atributo module.

Dica

Em uma compilação de depuração, __uuidof sempre inicializa um objeto dinamicamente (no tempo de execução).Em uma compilação de versão, __uuidof pode inicializar um objeto estaticamente (no tempo de compilação).

Exemplo

O código a seguir (compilado com ole32.lib) exibirá o uuid de um bloco de biblioteca criado com o atributo 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);
}

Comentários

Em casos nos quais o nome da biblioteca não está mais no escopo, é possível usar __LIBID_ em vez de __uuidof. Por exemplo:

StringFromCLSID(__LIBID_, &lpolestr);

FIM de Específico da Microsoft

Consulte também

Referência

Expressões com operadores unários

Palavras-chave C++