Bagikan melalui


Fungsi WdfDeviceInitRegisterPnpStateChangeCallback (wdfdevice.h)

[Hanya berlaku untuk KMDF]

Catatan

Metode ini hanya untuk penggunaan internal Microsoft.

Metode WdfDeviceInitRegisterPnpStateChangeCallback mendaftarkan fungsi panggilan balik peristiwa yang disediakan driver yang dipanggil kerangka kerja saat komputer status Plug and Play perangkat berubah status.

Sintaks

NTSTATUS WdfDeviceInitRegisterPnpStateChangeCallback(
  [in] PWDFDEVICE_INIT                              DeviceInit,
  [in] WDF_DEVICE_PNP_STATE                         PnpState,
  [in] PFN_WDF_DEVICE_PNP_STATE_CHANGE_NOTIFICATION EvtDevicePnpStateChange,
  [in] ULONG                                        CallbackTypes
);

Parameter

[in] DeviceInit

Penunjuk yang disediakan penelepon ke struktur WDFDEVICE_INIT .

[in] PnpState

Enumerator WDF_DEVICE_PNP_STATE yang mengidentifikasi status komputer Plug and Play yang drivernya meminta pemberitahuan.

[in] EvtDevicePnpStateChange

Penunjuk yang disediakan penelepon ke fungsi panggilan balik peristiwa EvtDevicePnpStateChange driver.

[in] CallbackTypes

Kombinasi ORed dari enumerator berjenis WDF_STATE_NOTIFICATION_TYPE.

Nilai kembali

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

Menampilkan kode Deskripsi
STATUS_INVALID_PARAMETER
Parameter yang tidak valid terdeteksi.
STATUS_INSUFFICIENT_RESOURCES
Memori tidak cukup untuk menyelesaikan operasi.

Keterangan

Jika driver Anda memanggil WdfDeviceInitRegisterPnpStateChangeCallback, driver harus melakukannya sebelum memanggil WdfDeviceCreate.

Untuk informasi selengkapnya tentang WdfDeviceInitRegisterPnpStateChangeCallback, lihat State Machines dalam Kerangka Kerja.

Contoh

Contoh kode berikut mendaftarkan fungsi panggilan balik peristiwa yang akan dipanggil kerangka kerja saat komputer status Plug and Play perangkat berubah status.

status = WdfDeviceInitRegisterPnpStateChangeCallback(
                                                     DeviceInit,
                                                     WdfDevStatePnpEjectFailed,
                                                     MyDrvPnPStateChangeCallback,
                                                     StateNotificationAllStates
                                                     );

Persyaratan

Persyaratan Nilai
Target Platform Universal
Versi KMDF minimum 1,0
Header wdfdevice.h (termasuk Wdf.h)
Pustaka Wdf01000.sys (lihat Penerapan Versi Pustaka Kerangka Kerja.)
IRQL PASSIVE_LEVEL
Aturan kepatuhan DDI ChildDeviceInitAPI(kmdf), DeviceInitAPI(kmdf), DriverCreate(kmdf), InitFreeDeviceCallback(kmdf), InitFreeDeviceCreate(kmdf), InitFreeNull(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf), PdoInitFreeDeviceCallback(kmdf), PdoInitFreeDeviceCreate(kmdf)

Lihat juga

EvtDevicePnpStateChange

WDFDEVICE_INIT

WDF_DEVICE_PNP_STATE

WDF_STATE_NOTIFICATION_TYPE