Compartilhar via


operador de __uuidof

Específicos do Microsoft

Recupera a GUID associada à expressão.

__uuidof (
   expression 
)

Comentários

O expressão pode ser um nome de tipo, ponteiro, referência ou matriz desse tipo, um modelo especializado sobre esses tipos ou uma variável desses tipos.O argumento é válido, desde que o compilador pode ser usado para localizar o GUID anexado.

Um caso especial de nesse intrínseca é quando um dos 0 ou Nulo for fornecida como argumento.Nesse caso, __uuidof retornará um GUID composto de zeros.

Use esta palavra-chave para extrair o GUID anexado ao:

  • Um objeto, o uuid atributos estendidos.

  • Um bloco de biblioteca é criado com o módulo de atributo.

ObservaçãoObservação

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

Exemplo

O código a seguir (compilado com ole32.lib) exibirá o uuid de um bloco de biblioteca criado com o atributo de módulo:

// 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 onde o nome da biblioteca não está mais no escopo, você pode usar __LIBID_ em vez de __uuidof.Por exemplo:

StringFromCLSID(__LIBID_, &lpolestr);

Específicos do Microsoft final

Consulte também

Referência

Expressões com operadores unários

Palavras-chave C++