Funzione WdfDeviceInitRegisterPowerStateChangeCallback (wdfdevice.h)
[Si applica solo a KMDF]
Nota
Questo metodo è destinato solo all'uso interno di Microsoft.
Il metodo WdfDeviceInitRegisterPowerStateChangeCallback registra una funzione di callback di eventi fornita dal driver che il framework chiama quando lo stato della macchina a stati di alimentazione di un dispositivo cambia.
Sintassi
NTSTATUS WdfDeviceInitRegisterPowerStateChangeCallback(
[in] PWDFDEVICE_INIT DeviceInit,
[in] WDF_DEVICE_POWER_STATE PowerState,
[in] PFN_WDF_DEVICE_POWER_STATE_CHANGE_NOTIFICATION EvtDevicePowerStateChange,
[in] ULONG CallbackTypes
);
Parametri
[in] DeviceInit
Puntatore fornito dal chiamante a una struttura WDFDEVICE_INIT .
[in] PowerState
Enumeratore WDF_DEVICE_POWER_STATE che identifica lo stato della macchina elettrica per cui il driver richiede la notifica.
[in] EvtDevicePowerStateChange
Puntatore fornito dal chiamante alla funzione di callback dell'evento EvtDevicePowerStateChange del driver.
[in] CallbackTypes
Combinazione ORed di enumeratori tipizzato di WDF_STATE_NOTIFICATION_TYPE.
Valore restituito
Se l'operazione ha esito positivo, WdfDeviceInitRegisterPowerStateChangeCallback restituisce STATUS_SUCCESS. I valori restituiti aggiuntivi includono:
Codice restituito | Descrizione |
---|---|
|
È stato rilevato un parametro non valido. |
|
Memoria insufficiente per completare l'operazione. |
Commenti
Se il driver chiama WdfDeviceInitRegisterPowerStateChangeCallback, deve farlo prima di chiamare WdfDeviceCreate.
Per altre informazioni sulla chiamata a WdfDeviceCreate, vedere State Machines in the Framework.For more information about calling WdfDeviceCreate, see State Machines in the Framework.
Esempio
Nell'esempio di codice seguente viene registrata una funzione di callback di evento che il framework chiamerà quando lo stato della macchina a stati di alimentazione del dispositivo cambia.
status = WdfDeviceInitRegisterPowerStateChangeCallback(
DeviceInit,
WdfDevStatePowerD0StartingConnectInterrupt,
PciDrvPowerStateChangeCallback,
StateNotificationAllStates
);
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Versione KMDF minima | 1,0 |
Intestazione | wdfdevice.h (include Wdf.h) |
Libreria | Wdf01000.sys (vedere Controllo delle versioni della libreria framework). |
IRQL | PASSIVE_LEVEL |
Regole di conformità 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) |