File header di Windows Driver Kit
Windows Driver Kit (WDK) berisi semua file header (file.h) yang Anda butuhkan untuk membangun driver mode kernel dan mode pengguna. File header berada di folder Sertakan di folder penginstalan WDK Anda. Contoh: C:\Program Files (x86)\Windows Kits\10\Include.
File header berisi informasi versi sehingga Anda dapat menggunakan sekumpulan file header yang sama terlepas dari versi Windows mana yang akan dijalankan driver Anda.
Konstanta yang mewakili versi Windows
File header dalam WDK berisi pernyataan bersyarah yang menentukan elemen pemrograman yang hanya tersedia dalam versi tertentu dari sistem operasi Windows. Elemen versi termasuk fungsi, enumerasi, struktur, dan anggota struktur.
Untuk menentukan elemen pemrograman yang tersedia di setiap versi sistem operasi, file header berisi kondisi preprosektor yang membandingkan nilai NTDDI_VERSION dengan sekumpulan nilai konstanta yang telah ditentukan sebelumnya yang ditentukan dalam Sdkddkver.h.
Berikut adalah nilai konstanta yang telah ditentukan sebelumnya yang mewakili versi sistem operasi Microsoft Windows.
Terus-menerus | Versi sistem operasi |
---|---|
NTDDI_WIN10 |
Windows 10 |
NTDDI_WINBLUE |
Windows 8.1 |
NTDDI_WIN8 |
Windows 8 |
NTDDI_WIN7 |
Windows 7 |
NTDDI_WS08SP4 |
Windows Server 2008 dengan SP4 |
NTDDI_WS08SP3 |
Windows Server 2008 dengan SP3 |
NTDDI_WS08SP2 |
Windows Server 2008 dengan SP2 |
NTDDI_WS08 |
Windows Server 2008 |
Anda dapat melihat banyak contoh elemen DDI khusus versi dalam file header WDK. Deklarasi bersyarat ini muncul di Wdm.h, yang merupakan file header yang mungkin disertakan oleh driver mode kernel.
#if (NTDDI_VERSION >= NTDDI_WIN7)
_Must_inspect_result_
NTKERNELAPI
NTSTATUS
KeSetTargetProcessorDpcEx (
_Inout_ PKDPC Dpc,
_In_ PPROCESSOR_NUMBER ProcNumber
);
#endif
Dalam contoh, Anda dapat melihat bahwa fungsi KeSetTargetProcessorDpcEx hanya tersedia di Windows 7 dan versi Windows yang lebih baru.
Deklarasi bersyarat ini muncul di Winspool.h, yang merupakan file header yang mungkin disertakan oleh driver mode pengguna.
#if (NTDDI_VERSION >= NTDDI_WIN7)
...
BOOL
WINAPI
GetPrintExecutionData(
_Out_ PRINT_EXECUTION_DATA *pData
);
#endif // (NTDDI_VERSION >= NTDDI_WIN7)
Dalam contoh dapat melihat bahwa fungsi GetPrintExecutionData hanya tersedia di Windows 7 dan versi Windows yang lebih baru.
File header untuk Kerangka Kerja Driver Mode Kernel
WDK mendukung beberapa versi Windows, dan juga mendukung beberapa versi Kerangka Kerja Driver Mode Kernel (KMDF) dan Kerangka Kerja Driver Mode Pengguna (UMDF). Informasi penerapan versi dalam file header WDK berkaitan dengan versi Windows, tetapi tidak untuk versi KMDF atau UMDF. File header untuk berbagai versi KMDF dan UMDF ditempatkan di direktori terpisah.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk