Sdílet prostřednictvím


Soubory hlaviček v sadě Windows Driver Kit

Referenční dokumentace k rozhraní API pro sadu Windows Driver Kit (WDK) obsahuje všechny soubory hlaviček (soubory .h), které potřebujete k sestavení ovladačů v režimu jádra a uživatelského režimu. Soubory hlaviček jsou ve složce Include v instalační složce WDK. Příklad: C:\Program Files (x86)\Windows Kits\10\Include.

Soubory hlaviček obsahují informace o verzi, abyste mohli použít stejnou sadu souborů hlaviček bez ohledu na to, na jakou verzi windows bude ovladač běžet.

Konstanty, které představují verze Windows

Soubory hlaviček v WDK obsahují podmíněné příkazy, které určují programovací prvky, které jsou k dispozici pouze v určitých verzích operačního systému Windows. Součástí verzí jsou funkce, výčty, struktury a členy struktury.

Chcete-li určit programovací prvky, které jsou k dispozici v každé verzi operačního systému, obsahují soubory hlaviček podmínky preprocesoru, které porovnávají hodnotu NTDDI_VERSION se sadou předdefinovaných konstantních hodnot definovaných v sadě Sdkddkver.h.

Tady jsou předdefinované konstantní hodnoty, které představují verze operačního systému Microsoft Windows.

Konstanta Verze operačního systému

NTDDI_WIN10

Windows 10

NTDDI_WINBLUE

Windows 8.1

NTDDI_WIN8

Windows 8

NTDDI_WIN7

Windows 7

NTDDI_WS08SP4

Windows Server 2008 s aktualizací SP4

NTDDI_WS08SP3

Windows Server 2008 s aktualizací SP3

NTDDI_WS08SP2

Windows Server 2008 s aktualizací SP2

NTDDI_WS08

Windows Server 2008

V hlavičkových souborech WDK můžete vidět mnoho příkladů prvků DDI specifických pro konkrétní verzi. Tato podmíněná deklarace se zobrazí v wdm.h, což je soubor hlaviček, který může být součástí ovladače režimu jádra.

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

V příkladu vidíte, že funkce KeSetTargetProcessorDpcEx je k dispozici pouze ve Windows 7 a novějších verzích Windows.

Tato podmíněná deklarace se zobrazí ve službě Winspool.h, což je soubor hlaviček, který může být součástí ovladače uživatelského režimu.

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

#endif // (NTDDI_VERSION >= NTDDI_WIN7)

V příkladu vidíte, že funkce GetPrintExecutionData je dostupná pouze ve Windows 7 a novějších verzích Windows.

Soubory hlaviček pro architekturu ovladačů režimu jádra

WDK podporuje několik verzí Systému Windows a podporuje také několik verzí rozhraní KMDF (Kernel Mode Driver Framework) a rozhraní UMDF (User Mode Driver Framework). Informace o správě verzí v souborech hlaviček WDK se týkají verzí Systému Windows, ale ne verzí KMDF nebo UMDF. Soubory hlaviček pro různé verze KMDF a UMDF jsou umístěny v samostatných adresářích.