Funzione PoFxPowerControl (wdm.h)

La routine PoFxPowerControl invia una richiesta di controllo alimentazione al framework di risparmio energia (PoFx).

Sintassi

NTSTATUS PoFxPowerControl(
  [in]            POHANDLE Handle,
  [in]            LPCGUID  PowerControlCode,
  [in, optional]  PVOID    InBuffer,
  [in]            SIZE_T   InBufferSize,
  [out, optional] PVOID    OutBuffer,
  [in]            SIZE_T   OutBufferSize,
  [out, optional] PSIZE_T  BytesReturned
);

Parametri

[in] Handle

Handle che rappresenta la registrazione del dispositivo con PoFx. Il driver di dispositivo ha ricevuto in precedenza questo handle dalla routine PoFxRegisterDevice .

[in] PowerControlCode

Puntatore al codice di controllo alimentazione. Questo codice è un valore GUID che specifica l'operazione richiesta.

[in, optional] InBuffer

Puntatore a un buffer allocato dal chiamante che contiene i dati di input per l'operazione. Il formato per i dati in questo buffer dipende dal codice di controllo alimentazione specificato dal parametro PowerControlCode . Il parametro InBuffer è facoltativo e può essere specificato come NULL se l'operazione specificata non richiede dati di input.

[in] InBufferSize

Dimensione, in byte, del buffer di input a cui punta il parametro InBuffer . Se InBuffer è NULL, impostare InBufferSize su zero.

[out, optional] OutBuffer

Puntatore a un buffer allocato dal chiamante che deve contenere i dati di output dell'operazione. Il formato per i dati in questo buffer dipende dal codice di controllo alimentazione specificato dal parametro PowerControlCode . Il parametro OutBuffer è facoltativo e può essere specificato come NULL se l'operazione specificata non produce dati di output.

[in] OutBufferSize

Dimensioni, in byte, del buffer di output a cui punta il parametro OutBuffer . Se OutBuffer è NULL, impostare OutBufferSize su zero.

[out, optional] BytesReturned

Puntatore a una posizione in cui la routine scrive il numero di byte di dati scritti nel buffer a cui punta OutBuffer. Il numero di byte scritti sarà minore o uguale a OutBufferSize. Questo parametro è facoltativo e può essere specificato come NULL se il chiamante non deve sapere quanti byte sono stati scritti nel buffer di output.

Valore restituito

PoFxPowerControl restituisce STATUS_SUCCESS se l'operazione richiesta ha esito positivo. I valori restituiti di errore possibili includono il codice di stato seguente.

Codice restituito Descrizione
STATUS_NOT_IMPLEMENTED
L'operazione di controllo alimentazione richiesta non viene implementata.
STATUS_NOT_SUPPORTED
Il plug-in del motore di alimentazione (PEP) non riconosce il supporto per questo dispositivo.

Commenti

Un driver di dispositivo chiama questa routine per inviare una richiesta di controllo alimentazione direttamente a PoFx. Una richiesta di controllo alimentazione è simile a una richiesta di controllo I/O (IOCTL). A differenza di un IOCTL, tuttavia, una richiesta di controllo alimentazione viene inviata direttamente a PoFx e non viene osservata da altri driver di dispositivo nello stack di dispositivi. Durante una chiamata PoFxPowerControl, PoFx esegue in modo sincrono l'operazione richiesta.

Analogamente, PoFx può inviare una richiesta di controllo alimentazione direttamente al driver di dispositivo. Il driver gestisce questa richiesta nella routine PowerControlCallback .

PoFx delega la gestione di tutte le richieste di controllo alimentazione al plug-in del motore di alimentazione (PEP). Il PEP è un componente software facoltativo che esegue attività di risparmio energia specifiche di una particolare linea di prodotti di processore o sistema in un chip (SoC). Se il fornitore dell'hardware per il processore o il SoC fornisce un PEP per una piattaforma hardware, questo PEP potrebbe gestire richieste di controllo alimentazione personalizzate da un driver di dispositivo o inviare richieste di controllo alimentazione personalizzate alla routine PowerControlCallback del driver. Il fornitore può specificare un set di GUID di PowerControlCode e definire le operazioni designate da questi GUID. Come opzione, un driver di dispositivo può contenere codice specifico della piattaforma da gestire o inviare richieste per queste operazioni.

Requisiti

Requisito Valore
Client minimo supportato Disponibile a partire da Windows 8.
Piattaforma di destinazione Universale
Intestazione wdm.h
Libreria Ntoskrnl.lib
DLL Ntoskrnl.exe
IRQL <= DISPATCH_LEVEL

Vedi anche

PoFxRegisterDevice

PowerControlCallback