Compartir a través de


Operador __uuidof

Específicos de Microsoft

Recupera un GUID asociado a la expresión.

__uuidof (
   expression 
)

Comentarios

La expresión puede ser un nombre de tipo, puntero, una referencia, o una matriz de ese tipo, una plantilla especializada en estos tipos, o variable de estos tipos.El argumento es válido mientras el compilador pueda utilizarlo para encontrar un GUID asociado.

Un caso especial de este intrínseca es cuando 0 o NULL se proporciona como el argumento.en este caso, __uuidof devolverá GUID compuesto de ceros.

Utilice esta palabra clave para extraer un GUID asociado:

  • un objeto por el atributo extendido de uuid .

  • Un bloque de biblioteca creado con el atributo de módulo .

[!NOTA]

En una versión de depuración, __uuidof siempre se inicializa un objeto dinámicamente (en tiempo de ejecución).En una versión de lanzamiento, __uuidof puede (en tiempo de compilación) inicializa estáticamente un objeto.

Ejemplo

El código siguiente (compilado con ole32.lib) mostrará el uuid de un bloque de biblioteca creado con el 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);
}

Comentarios

En caso de que el nombre de biblioteca no se encuentre en el ámbito, puede utilizar el __LIBID_ en lugar de __uuidof.Por ejemplo:

StringFromCLSID(__LIBID_, &lpolestr);

Específico de Microsoft de FINAL

Vea también

Referencia

Expresiones con los operadores unarios

Palabras clave de C++