Incluindo GUIDs no código do driver

Para usar GUIDs em um driver no modo kernel, você deve fazer duas coisas:

  1. Inclua o arquivo de cabeçalho Initguid.h que redefine a macro DEFINE_GUID .

    O arquivo de cabeçalho Initguid.h redefine a macro DEFINE_GUID para instanciar GUIDs (em vez de apenas declarar uma referência EXTERN). Inclua esse arquivo de cabeçalho no arquivo de origem do driver em que os GUIDs devem ser instanciados. (Os aplicativos no modo de usuário incluem Objbase.h antes de incluir arquivos de cabeçalho que contêm definições de GUID.)

  2. Inclua os arquivos de cabeçalho que definem os GUIDs.

    Após a instrução para incluir Initguid.h, você inclui os arquivos de cabeçalho que contêm as definições de GUID. Um driver pode incluir mais de um arquivo de cabeçalho que contém definições de GUID, incluindo arquivos de cabeçalho fornecidos pelo sistema e arquivos de cabeçalho de terceiros.

O seguinte trecho de código mostra a sequência de instruções para incluir GUIDs:

:
// include system headers here such as wdm.h

#include <initguid.h>

// include system and driver-specific header files here that contain
// GUID definitions

...

Coloque as instruções acima em um módulo do driver; normalmente, o módulo main. Quando as instruções acima estão presentes, o driver refere-se a um GUID usando seu nome simbólico.