Incluir GUID en el código de controlador
Para usar GUID en un controlador en modo kernel, debe hacer dos cosas:
Incluya el archivo de encabezado Initguid.h que vuelve a definir la macro DEFINE_GUID .
El archivo de encabezado Initguid.h vuelve a definir la macro de DEFINE_GUID para crear instancias de GUID (frente a declarar simplemente una referencia EXTERN). Incluya este archivo de encabezado en el archivo de origen del controlador en el que se deben crear instancias de los GUID. (Las aplicaciones en modo de usuario incluyen Objbase.h antes de incluir archivos de encabezado que contienen definiciones de GUID).
Incluya los archivos de encabezado que definen los GUID.
Después de la instrucción para incluir Initguid.h, se incluyen los archivos de encabezado que contienen las definiciones guid. Un controlador puede incluir más de un archivo de encabezado que contiene definiciones GUID, incluidos los archivos de encabezado proporcionados por el sistema y los archivos de encabezado de terceros.
En el fragmento de código siguiente se muestra la secuencia de instrucciones para incluir GUID:
:
// include system headers here such as wdm.h
#include <initguid.h>
// include system and driver-specific header files here that contain
// GUID definitions
...
Coloque las instrucciones anteriores en un módulo del controlador; normalmente, el módulo principal. Cuando están presentes las instrucciones anteriores, el controlador hace referencia a un GUID con su nombre simbólico.