Operador __uuidof
Específicos de Microsoft
Recupera el GUID asociado a la expresión.
Sintaxis
__uuidof (
expression)
Comentarios
La expresión puede ser un nombre de tipo, un puntero, una referencia o una matriz de ese tipo, una plantilla especializada en estos tipos, o una variable de estos tipos. El argumento es válido siempre y cuando el compilador pueda utilizarlo para encontrar el GUID asociado.
Un caso especial de este intrínseco es cuando se proporciona 0 o NULL como argumento. En este caso, __uuidof
devolverá un GUID compuesto de ceros.
Utilice esta palabra clave para extraer el GUID asociado a lo siguiente:
Nota:
En una compilación de depuración, __uuidof
siempre inicializa un objeto dinámicamente (en tiempo de ejecución). En una compilación de versión, __uuidof
puede inicializar estáticamente (en tiempo de compilación) un objeto.
A efectos de compatibilidad con versiones anteriores, _uuidof
es un sinónimo de __uuidof
a menos que se especifique la opción del compilador /Za
(Deshabilitar extensiones de lenguaje).
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 aquellos casos en los que el nombre de la biblioteca ya no se encuentre en el ámbito, puede utilizar __LIBID_
en lugar de __uuidof
. Por ejemplo:
StringFromCLSID(__LIBID_, &lpolestr);
FIN de Específicos de Microsoft
Consulte también
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de