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 |
---|---|
|
Ein ungültiger Parameter wurde erkannt. |
|
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) |