Dela via


Rubrikfiler i Windows Driver Kit

Referensdokumenten för API för Windows Driver Kit (WDK) innehåller alla huvudfiler (.h-filer) som du behöver för att skapa drivrutiner i kernelläge och användarläge. Rubrikfiler finns i mappen Inkludera i WDK-installationsmappen. Exempel: C:\Program Files (x86)\Windows Kits\10\Include.

Huvudfilerna innehåller versionsinformation så att du kan använda samma uppsättning huvudfiler oavsett vilken version av Windows drivrutinen ska köras på.

Konstanter som representerar Windows-versioner

Rubrikfiler i WDK innehåller villkorsstyrda instruktioner som anger programmeringselement som endast är tillgängliga i vissa versioner av Windows-operativsystemet. De versionerade elementen innehåller funktioner, uppräkningar, strukturer och strukturmedlemmar.

Om du vill ange de programmeringselement som är tillgängliga i varje operativsystemversion innehåller huvudfilerna villkor för förprocessor som jämför värdet för NTDDI_VERSION med en uppsättning fördefinierade konstanta värden som definieras i Sdkddkver.h.

Här är de fördefinierade konstantvärdena som representerar versioner av Microsoft Windows-operativsystemet.

Konstant Operativsystemversion

NTDDI_WIN10

Windows 10

NTDDI_WINBLUE

Windows 8.1

NTDDI_WIN8

Windows 8

NTDDI_WIN7

Windows 7

NTDDI_WS08SP4

Windows Server 2008 med SP4

NTDDI_WS08SP3

Windows Server 2008 med SP3

NTDDI_WS08SP2

Windows Server 2008 med SP2

NTDDI_WS08

Windows Server 2008

Du kan se många exempel på versionsspecifika DDI-element i WDK-huvudfilerna. Den här villkorliga deklarationen visas i Wdm.h, som är en rubrikfil som kan inkluderas av en drivrutin i kernelläge.

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

I exemplet kan du se att funktionen KeSetTargetProcessorDpcEx endast är tillgänglig i Windows 7 och senare versioner av Windows.

Den här villkorliga deklarationen visas i Winspool.h, som är en rubrikfil som kan inkluderas av en drivrutin i användarläge.

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

#endif // (NTDDI_VERSION >= NTDDI_WIN7)

I exemplet kan se att funktionen GetPrintExecutionData endast är tillgänglig i Windows 7 och senare versioner av Windows.

Rubrikfiler för Kernel Mode Driver Framework

WDK stöder flera versioner av Windows och stöder även flera versioner av Kernel Mode Driver Framework (KMDF) och User Mode Driver Framework (UMDF). Versionsinformationen i WDK-huvudfilerna avser Windows-versioner, men inte FÖR KMDF- eller UMDF-versioner. Huvudfiler för olika versioner av KMDF och UMDF placeras i separata kataloger.