Fungsi WdfPdoInitAssignDeviceID (wdfpdo.h)

[Berlaku untuk KMDF saja]

Metode WdfPdoInitAssignDeviceID memperbarui ID perangkat untuk perangkat anak.

Sintaks

NTSTATUS WdfPdoInitAssignDeviceID(
  [in] PWDFDEVICE_INIT  DeviceInit,
  [in] PCUNICODE_STRING DeviceID
);

Parameter

[in] DeviceInit

Penunjuk ke struktur WDFDEVICE_INIT .

[in] DeviceID

Penunjuk ke struktur UNICODE_STRING yang berisi string ID perangkat. 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
STATUS_INVALID_DEVICE_REQUEST
Driver menginisialisasi FDO alih-alih PDO.
STATUS_INSUFFICIENT_RESOURCES
Pengandar tidak dapat mengalokasikan ruang untuk menyimpan string ID perangkat.
 

Metode ini mungkin juga mengembalikan nilai NTSTATUS lainnya.

Keterangan

ID perangkat biasanya merupakan item pertama dalam daftar ID perangkat keras yang dilaporkan perangkat. Untuk informasi selengkapnya tentang ID perangkat dan ID perangkat keras, lihat String Identifikasi Perangkat dan Cara Penyetelan Memilih Driver.

Driver harus memanggil WdfPdoInitAssignDeviceID sebelum memanggil WdfDeviceCreate. Untuk informasi selengkapnya tentang memanggil WdfDeviceCreate, lihat Membuat Objek Perangkat Kerangka Kerja.

Contoh

Contoh kode berikut melaporkan ID perangkat yang digunakan driver sampel KbFiltr .

#define  KBFILTR_DEVICE_ID L"{A65C87F9-BE02-4ed9-92EC-012D416169FA}\\KeyboardFilter\0"
DECLARE_CONST_UNICODE_STRING(deviceId,KBFILTR_DEVICE_ID);

status = WdfPdoInitAssignDeviceID(
                                  pDeviceInit,
                                  &deviceId
                                  );

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)

Lihat juga

WdfPdoInitAddCompatibleID

WdfPdoInitAddHardwareID

WdfPdoInitAssignInstanceID