Fungsi WdfPdoInitAddHardwareID (wdfpdo.h)
[Hanya berlaku untuk KMDF]
Metode WdfPdoInitAddHardwareID menambahkan ID perangkat keras ke daftar ID perangkat keras untuk perangkat anak.
Sintaks
NTSTATUS WdfPdoInitAddHardwareID(
[in] PWDFDEVICE_INIT DeviceInit,
[in] PCUNICODE_STRING HardwareID
);
Parameter
[in] DeviceInit
Penunjuk ke struktur WDFDEVICE_INIT .
[in] HardwareID
Penunjuk ke struktur UNICODE_STRING yang berisi string ID perangkat keras. Driver dapat mengalokasikan buffer string dari kumpulan halaman.
Nilai kembali
Jika operasi berhasil, metode mengembalikan STATUS_SUCCESS. Nilai pengembalian tambahan meliputi:
Menampilkan kode | Deskripsi |
---|---|
|
Driver menginisialisasi FDO alih-alih PDO. |
|
Pengandar tak bisa mengalokasikan ruang untuk menyimpan string ID piranti keras. |
Metode ini mungkin juga mengembalikan nilai NTSTATUS lainnya.
Keterangan
Pengandar dapat menambahkan satu atau beberapa ID perangkat keras untuk perangkat. Mereka harus ditambahkan dalam urutan dari pertandingan terbaik hingga pertandingan terburuk. Kerangka kerja akan mengirimkan ID ke manajer PnP dalam urutan ditambahkan. Untuk informasi selengkapnya tentang ID perangkat keras, lihat String Identifikasi Perangkat dan Cara Penyetelan Memilih Driver.
Driver harus memanggil WdfPdoInitAddHardwareID sebelum memanggil WdfDeviceCreate. Untuk informasi selengkapnya tentang memanggil WdfDeviceCreate, lihat Membuat Objek Perangkat Kerangka Kerja.
Contoh
Contoh kode berikut melaporkan ID perangkat keras yang digunakan driver sampel KbFiltr .
#define KBFILTR_DEVICE_ID L"{A65C87F9-BE02-4ed9-92EC-012D416169FA}\\KeyboardFilter\0"
DECLARE_CONST_UNICODE_STRING(hardwareId, KBFILTR_DEVICE_ID);
status = WdfPdoInitAddHardwareID(
pDeviceInit,
&hardwareId
);
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Universal |
Versi KMDF minimum | 1,0 |
Header | wdfpdo.h (termasuk Wdf.h) |
Pustaka | Wdf01000.sys (lihat Penerapan Versi Pustaka Kerangka Kerja.) |
IRQL | PASSIVE_LEVEL |
Aturan kepatuhan DDI | ChildDeviceInitAPI(kmdf), DriverCreate(kmdf), InitFreeDeviceCallback(kmdf), InitFreeDeviceCreate(kmdf), InitFreeNull(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf), PdoInitFreeDeviceCallback(kmdf), PdoInitFreeDeviceCreate(kmdf) |