Funzione StorPortPoFxPowerControl (storport.h)
La routine StorPortPoFxPowerControl invia una richiesta di controllo alimentazione al framework di risparmio energia (PoFx) per inoltrare al plug-in del motore di alimentazione (PEP).
Sintassi
ULONG StorPortPoFxPowerControl(
[in] PVOID HwDeviceExtension,
PSTOR_ADDRESS Address,
[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] HwDeviceExtension
Puntatore all'estensione del dispositivo hardware per l'adattatore bus host (HBA). Si tratta dell'estensione del dispositivo usata per registrare il dispositivo in una chiamata precedente a StorPortInitializePoFxPower.
Address
Puntatore al codice di controllo alimentazione. Questo codice è un valore GUID che specifica l'operazione richiesta.
[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
La routine StorPortPoFxPowerControl restituisce uno dei codici di stato seguenti:
Codice restituito | Descrizione |
---|---|
|
L'operazione di controllo alimentazione specificata in PowerControlCode è stata eseguita correttamente. |
|
HwDeviceExtension o Device è NULL.
-oppure- L'indirizzo punta a una struttura di indirizzi di unità non valida. -oppure- Il dispositivo di archiviazione specificato da Address non viene trovato. |
|
Il dispositivo di archiviazione non è registrato con PoFx. |
|
> DISPATCH_LEVEL IRQL corrente. |
|
L'operazione di controllo alimentazione non è riuscita. |
Commenti
Un driver minport chiama questa routine per inviare una richiesta di controllo alimentazione direttamente al PEP. 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 PEP e non viene osservata da altri driver di dispositivo nello stack di dispositivi. Durante una chiamata StorPortPoFxPowerControl , il PEP esegue in modo sincrono l'operazione richiesta.
Analogamente, il PEP può inviare una richiesta di controllo alimentazione direttamente al miniport. Il driver miniport gestisce questa richiesta nelle routine HwStorAdapterControl e HwStorUnitControl . Il parametro ControlType riceve il tipo ScsiAdapterPoFxPowerControl nella routine HwStorAdapterControl e ScsiUnitPoFxPowerControl nella routine HwStorUnitControl .
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile a partire da Windows 8. |
Piattaforma di destinazione | Universale |
Intestazione | storport.h |
Libreria | Storport.lib |
IRQL | <= DISPATCH_LEVEL |