WdfDeviceInitRegisterPnpStateChangeCallback-Funktion (wdfdevice.h)

[Gilt nur für KMDF]

Hinweis

Diese Methode ist nur für die interne Verwendung von Microsoft vorgesehen.

Die WdfDeviceInitRegisterPnpStateChangeCallback-Methode registriert eine vom Treiber bereitgestellte Ereignisrückruffunktion, die das Framework aufruft, wenn sich der Plug & Play Zustandscomputer eines Geräts ändert.

Syntax

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

Ein vom Aufrufer bereitgestellter Zeiger auf eine WDFDEVICE_INIT-Struktur .

[in] PnpState

Ein WDF_DEVICE_PNP_STATE Enumerator, der den Plug & Play Computerstatus identifiziert, für den der Treiber eine Benachrichtigung anfordert.

[in] EvtDevicePnpStateChange

Ein vom Aufrufer bereitgestellter Zeiger auf die EvtDevicePnpStateChange-Ereignisrückruffunktion des Treibers.

[in] CallbackTypes

Eine ORed-Kombination aus WDF_STATE_NOTIFICATION_TYPE typisierten Enumeratoren.

Rückgabewert

Wenn der Vorgang erfolgreich ist, gibt WdfDeviceInitRegisterPnpStateChangeCallback STATUS_SUCCESS zurück. Weitere Rückgabewerte sind:

Rückgabecode Beschreibung
STATUS_INVALID_PARAMETER
Ein ungültiger Parameter wurde erkannt.
STATUS_INSUFFICIENT_RESOURCES
Es ist nicht genügend Arbeitsspeicher vorhanden, um den Vorgang abzuschließen.

Hinweise

Wenn Ihr Treiber WdfDeviceInitRegisterPnpStateChangeCallback aufruft, muss er dies tun, bevor er WdfDeviceCreate aufruft.

Weitere Informationen zu WdfDeviceInitRegisterPnpStateChangeCallback finden Sie unter Zustandscomputer im Framework.

Beispiele

Im folgenden Codebeispiel wird eine Ereignisrückruffunktion registriert, die vom Framework aufgerufen wird, wenn sich der Plug & Play Zustandscomputer des Geräts ändert.

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

Anforderungen

Anforderung Wert
Zielplattform Universell
KMDF-Mindestversion 1.0
Kopfzeile wdfdevice.h (einschließen von Wdf.h)
Bibliothek Wdf01000.sys (siehe Versionierung der Frameworkbibliothek.)
IRQL PASSIVE_LEVEL
DDI-Complianceregeln ChildDeviceInitAPI(kmdf), DeviceInitAPI(kmdf), DriverCreate(kmdf), InitFreeDeviceCallback(kmdf), InitFreeDeviceCreate(kmdf), InitFreeNull(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf), PdoInitFreeDeviceCallback(kmdf), PdoInitFreeDeviceCreate(kmdf)

Weitere Informationen

EvtDevicePnpStateChange

WDFDEVICE_INIT

WDF_DEVICE_PNP_STATE

WDF_STATE_NOTIFICATION_TYPE