Bagikan melalui


Fungsi WdfPdoInitAssignInstanceID (wdfpdo.h)

[Hanya berlaku untuk KMDF]

Metode WdfPdoInitAssignInstanceID memperbarui ID instans untuk perangkat anak.

Sintaks

NTSTATUS WdfPdoInitAssignInstanceID(
  [in] PWDFDEVICE_INIT  DeviceInit,
  [in] PCUNICODE_STRING InstanceID
);

Parameter

[in] DeviceInit

Penunjuk ke struktur WDFDEVICE_INIT .

[in] InstanceID

Penunjuk ke struktur UNICODE_STRING yang berisi string ID instans . Driver dapat mengalokasikan buffer string dari kumpulan halaman.

Nilai kembali

Jika operasi berhasil, metode mengembalikan STATUS_SUCCESS. Nilai pengembalian tambahan meliputi:

Menampilkan kode Deskripsi
STATUS_INVALID_DEVICE_REQUEST
Driver menginisialisasi FDO alih-alih PDO.
STATUS_INSUFFICIENT_RESOURCES
Driver tidak dapat mengalokasikan ruang untuk menyimpan string ID instans.
 

Metode ini mungkin juga mengembalikan nilai NTSTATUS lainnya.

Keterangan

Untuk informasi selengkapnya tentang ID instans, lihat String Identifikasi Perangkat.

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

Contoh

Contoh kode berikut mengonversi nomor seri perangkat menjadi string Unicode lalu mendaftarkan string Unicode sebagai ID instans perangkat.

DECLARE_UNICODE_STRING_SIZE(instanceID, INSTANCEID_LENGTH);

status =  RtlIntegerToUnicodeString(
                                    SerialNo,
                                    BASE_DEC,
                                    &instanceID
                                    );
status = WdfPdoInitAssignInstanceID(
                                    pDeviceInit,
                                    &instanceID
                                    );

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

RtlIntegerToUnicodeString

WdfPdoInitAddCompatibleID

WdfPdoInitAddHardwareID

WdfPdoInitAssignDeviceID