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 |
---|---|
|
L'operazione di controllo alimentazione richiesta non viene implementata. |
|
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 |