Condividi tramite


PO_FX_DEVICE_POWER_REQUIRED_CALLBACK funzione di callback (wdm.h)

La routine di callback DevicePowerRequiredCallback notifica al driver del dispositivo che il dispositivo deve immettere e rimanere nello stato di alimentazione D0.

Sintassi

PO_FX_DEVICE_POWER_REQUIRED_CALLBACK PoFxDevicePowerRequiredCallback;

void PoFxDevicePowerRequiredCallback(
  [in] PVOID Context
)
{...}

Parametri

[in] Context

Puntatore al contesto del dispositivo. Il driver del dispositivo usa questo contesto per archiviare informazioni sullo stato corrente del dispositivo. Il driver del dispositivo ha specificato questo puntatore nel membro DeviceContext della struttura PO_FX_DEVICE usata dal driver per registrare il dispositivo con il framework di risparmio energia (PoFx). Questo contesto è opaco a PoFx.

Valore restituito

nessuno

Osservazioni

Dopo aver chiamato la routine DevicePowerRequiredCallback del driver, il driver deve avviare una transizione allo stato D0 inviando un'IRP D0 (una richiesta di IRP_MN_SET_POWER ) nello stack di dispositivi, se il dispositivo non è già nello stato D0. Al termine della gestione del driver (e tutti i driver inferiori) di questa richiesta, il driver deve chiamare la routine PoFxReportDevicePoweredOn . La chiamata PoFxReportDevicePoweredOn notifica a PoFx che il dispositivo ha completato la risposta alla chiamata DevicePowerRequiredCallback . Il driver può chiamare PoFxReportDevicePoweredOn durante o dopo la chiamata DevicePowerRequiredCallback .

Ogni volta che viene chiamata la routine DevicePowerRequiredCallback , il driver deve rispondere chiamando PoFxReportDevicePoweredOn. La chiamata PoFxReportDevicePoweredOn può verificarsi durante o dopo la chiamata DevicePowerRequiredCallback . Il driver deve chiamare PoFxReportDevicePoweredOn , indipendentemente dal fatto che non sia necessario alcun IRP D0, la richiesta D0 IRP ha esito negativo o il D0 IRP inviato ha esito positivo o non riesce.

PoFx chiama la routine DevicePowerRequiredCallback solo se PoFx ha precedentemente chiamato la routine DevicePowerNotRequiredCallback del driver per notificare al driver che il dispositivo non è stato necessario per rimanere nello stato D0.

La chiamata alla routine DevicePowerRequiredCallback può verificarsi in qualsiasi momento dopo che il driver chiama PoFxCompleteDevicePowerNotRequired per completare un callback DevicePowerNotRequiredCallback . La chiamata DevicePowerRequiredCallback non si verifica necessariamente come risultato di un'azione eseguita dal driver, ad esempio richiedendo che un componente venga modificato nella condizione attiva.

Esempio

Per definire una routine di callback DevicePowerRequiredCallback , è prima necessario specificare una dichiarazione di funzione che identifica il tipo di routine di callback che si sta definendo. Windows fornisce un set di tipi di funzione di callback per i driver. La dichiarazione di una funzione usando i tipi di funzione callback consente l'analisi del codice per i driver, il verifica driver statico (SDV) e altri strumenti di verifica trovano errori ed è un requisito per la scrittura di driver per il sistema operativo Windows.

Ad esempio, per definire una routine di callback DevicePowerRequiredCallback denominata MyDevicePowerRequiredCallback, usare il tipo di PO_FX_DEVICE_POWER_REQUIRED_CALLBACK come illustrato nell'esempio di codice seguente:

PO_FX_DEVICE_POWER_REQUIRED_CALLBACK MyDevicePowerRequiredCallback;

Implementare quindi la routine di callback come indicato di seguito:

_Use_decl_annotations_
VOID
  MyDevicePowerRequiredCallback(
    PVOID Context
    )
  {
      // Function body
  }

Il tipo di funzione PO_FX_DEVICE_POWER_REQUIRED_CALLBACK è definito nel file di intestazione Wdm.h. Per identificare in modo più accurato gli errori quando si eseguono gli strumenti di analisi del codice, assicurarsi di aggiungere l'annotazione _Use_decl_annotations_ alla definizione della funzione. L'annotazione _Use_decl_annotations_ garantisce che vengano usate le annotazioni applicate al tipo di funzione PO_FX_DEVICE_POWER_REQUIRED_CALLBACK nel file di intestazione. Per altre informazioni sui requisiti per le dichiarazioni di funzione, vedere Dichiarazione di funzioni tramite tipi di ruolo per i driver WDM. Per informazioni su _Use_decl_annotations_, vedere Annotazione del comportamento della funzione.

Requisiti

Requisito Valore
Client minimo supportato Supportato a partire da Windows 8.
Piattaforma di destinazione Desktop
Intestazione wdm.h (include Wudfwdm.h)
IRQL Chiamato in IRQL <= DISPATCH_LEVEL.

Vedi anche

DevicePowerNotRequiredCallback

PO_FX_DEVICE

PoFxCompleteDevicePowerNotRequired

PoFxRegisterDevice

PoFxReportDevicePoweredOn