Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
[Gilt nur für KMDF]
Anmerkung
Diese Methode ist nur für die interne Verwendung von Microsoft vorgesehen.
Die WdfDeviceInitRegisterPnpStateChangeCallback--Methode registriert eine vom Framework bereitgestellte Ereignisrückruffunktion, die vom Framework aufgerufen wird, wenn der Zustand des Plug- und Play-Zustandsautomaten eines Geräts geändert wird.
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 Zustand des Plug- und Play-Computers 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-typed-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. |
Bemerkungen
Wenn Ihr Treiber WdfDeviceInitRegisterPnpStateChangeCallback-aufruft, muss er dies tun, bevor er WdfDeviceCreateaufruft.
Weitere Informationen zu WdfDeviceInitRegisterPnpStateChangeCallback-finden Sie unter State Machines in the Framework.
Beispiele
Im folgenden Codebeispiel wird eine Ereignisrückruffunktion registriert, die vom Framework aufgerufen wird, wenn sich der Zustandszustand des Geräts ändert.
status = WdfDeviceInitRegisterPnpStateChangeCallback(
DeviceInit,
WdfDevStatePnpEjectFailed,
MyDrvPnPStateChangeCallback,
StateNotificationAllStates
);
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Universal |
Minimale KMDF-Version | 1.0 |
Header- | wdfdevice.h (einschließen Wdf.h) |
Library | Wdf01000.sys (siehe Framework-Bibliotheksversionsverwaltung.) |
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) |