Fungsi WdfPdoInitAddCompatibleID (wdfpdo.h)
[Berlaku untuk KMDF saja]
Metode WdfPdoInitAddCompatibleID menambahkan ID yang kompatibel ke daftar ID yang kompatibel untuk perangkat anak.
Sintaks
NTSTATUS WdfPdoInitAddCompatibleID(
[in] PWDFDEVICE_INIT DeviceInit,
[in] PCUNICODE_STRING CompatibleID
);
Parameter
[in] DeviceInit
Penunjuk ke struktur WDFDEVICE_INIT .
[in] CompatibleID
Penunjuk ke struktur UNICODE_STRING yang berisi string ID yang kompatibel. Driver dapat mengalokasikan buffer string dari kumpulan halaman.
Nilai kembali
Jika operasi berhasil, metode akan mengembalikan STATUS_SUCCESS. Nilai pengembalian tambahan meliputi:
Menampilkan kode | Deskripsi |
---|---|
|
Driver menginisialisasi FDO alih-alih PDO. |
|
Pengandar tidak dapat mengalokasikan ruang untuk menyimpan string ID yang kompatibel. |
Metode ini mungkin juga mengembalikan nilai NTSTATUS lainnya.
Keterangan
Pengandar dapat menambahkan satu atau beberapa ID yang kompatibel untuk perangkat. Mereka harus ditambahkan secara berurutan, dari pertandingan terbaik hingga pertandingan terburuk. Kerangka kerja akan mengirimkan ID ke manajer PnP dalam urutan ditambahkan. Untuk informasi selengkapnya tentang ID yang kompatibel, lihat String Identifikasi Perangkat dan Cara Penyetelan Memilih Driver.
Driver harus memanggil WdfPdoInitAddCompatibleID sebelum memanggil WdfDeviceCreate. Untuk informasi selengkapnya tentang memanggil WdfDeviceCreate, lihat Membuat Objek Perangkat Kerangka Kerja.
Contoh
Contoh kode berikut melaporkan nilai ID yang kompatibel yang digunakan driver sampel Toaster .
DECLARE_CONST_UNICODE_STRING(compatId, L"{B85B7C50-6A01-11d2-B841-00C04FAD5171}\\MsCompatibleToaster\0");
status = WdfPdoInitAddCompatibleID(
DeviceInit,
&compatId
);
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) |