Compartilhar via


Arquivos de cabeçalho no Kit de Driver do Windows

Os documentos de referência da API para o WDK (Windows Driver Kit) 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:\Arquivos de Programas (x86)\Kits do Windows\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 disponíveis apenas em determinadas versões do sistema operacional Windows. Os elementos com 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 de constante 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 à versão nos arquivos de cabeçalho do WDK. Essa declaração condicional é exibida no Wdm.h, que é um arquivo de cabeçalho que pode ser incluído por um driver no 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 no 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 de 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. Arquivos de cabeçalho para versões diferentes de KMDF e UMDF são colocados em diretórios separados.