Partilhar via


Arquivos de cabeçalho no Kit de Driver do Windows

O WDK (Kit de Driver do Windows) contém todos os arquivos de cabeçalho (arquivos .h) necessários para criar drivers no modo kernel e no modo de usuário. Os arquivos de cabeçalho estão na pasta Incluir na pasta de instalação do WDK. Exemplo: C:\Program Files (x86)\Windows Kits\10\Include.

Os arquivos de cabeçalho contêm informações de versão para que você possa usar o mesmo conjunto de arquivos de cabeçalho, independentemente de qual versão do Windows seu driver será executado.

Constantes que representam versões do Windows

Os arquivos de cabeçalho no WDK contêm instruções condicionais que especificam elementos de programação que estão disponíveis apenas em determinadas versões do sistema operacional Windows. Os elementos com controle de versão incluem funções, enumerações, estruturas e membros da estrutura.

Para especificar os elementos de programação disponíveis em cada versão do sistema operacional, os arquivos de cabeçalho contêm condicionais de pré-processador que comparam o valor de NTDDI_VERSION com um conjunto de valores constantes predefinidos definidos em Sdkddkver.h.

Aqui estão os valores constantes predefinidos que representam versões do sistema operacional Microsoft Windows.

Constante Versão do sistema operacional

NTDDI_WIN10

Windows 10

NTDDI_WINBLUE

Windows 8.1

NTDDI_WIN8

Windows 8

NTDDI_WIN7

Windows 7

NTDDI_WS08SP4

Windows Server 2008 com SP4

NTDDI_WS08SP3

Windows Server 2008 com SP3

NTDDI_WS08SP2

Windows Server 2008 com SP2

NTDDI_WS08

Windows Server 2008

Você pode ver muitos exemplos de elementos DDI específicos da versão nos arquivos de cabeçalho do WDK. Essa declaração condicional aparece em Wdm.h, que é um arquivo de cabeçalho que pode ser incluído por um driver de modo kernel.

#if (NTDDI_VERSION >= NTDDI_WIN7)
_Must_inspect_result_
NTKERNELAPI
NTSTATUS
KeSetTargetProcessorDpcEx (
    _Inout_ PKDPC Dpc,
    _In_ PPROCESSOR_NUMBER ProcNumber
    );
#endif

No exemplo, você pode ver que a função KeSetTargetProcessorDpcEx está disponível apenas no Windows 7 e versões posteriores do Windows.

Essa declaração condicional aparece em Winspool.h, que é um arquivo de cabeçalho que pode ser incluído por um driver de modo de usuário.

#if (NTDDI_VERSION >= NTDDI_WIN7)
...
BOOL
WINAPI
GetPrintExecutionData(
    _Out_ PRINT_EXECUTION_DATA *pData
    );

#endif // (NTDDI_VERSION >= NTDDI_WIN7)

No exemplo, é possível ver que a função GetPrintExecutionData está disponível apenas no Windows 7 e versões posteriores do Windows.

Arquivos de cabeçalho para a Estrutura do Driver do Modo Kernel

O WDK dá suporte a várias versões do Windows e também dá suporte a várias versões do KMDF (Kernel Mode Driver Framework) e do UMDF (User Mode Driver Framework). As informações de controle de versão nos arquivos de cabeçalho do WDK pertencem às versões do Windows, mas não às versões KMDF ou UMDF. Os arquivos de cabeçalho para diferentes versões do KMDF e do UMDF são colocados em diretórios separados.