StorPortPoFxPowerControl-Funktion (storport.h)
Die StorPortPoFxPowerControl-Routine sendet eine Energiesteuerungsanforderung an das Power Management Framework (PoFx), um an das Power Engine Plug-In (PEP) weiterzuleiten.
Syntax
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
);
Parameter
[in] HwDeviceExtension
Ein Zeiger auf die Hardwaregeräteerweiterung für den Host Bus Adapter (HBA). Dies ist die Geräteerweiterung, die zum Registrieren des Geräts in einem vorherigen Aufruf von StorPortInitializePoFxPower verwendet wird.
Address
Ein Zeiger auf den Energiesteuerungscode. Dieser Code ist ein GUID-Wert, der den angeforderten Vorgang angibt.
[in] PowerControlCode
Ein Zeiger auf den Energiesteuerungscode. Dieser Code ist ein GUID-Wert, der den angeforderten Vorgang angibt.
[in, optional] InBuffer
Ein Zeiger auf einen vom Aufrufer zugewiesenen Puffer, der die Eingabedaten für den Vorgang enthält. Das Format für die Daten in diesem Puffer hängt vom Energiesteuerungscode ab, der durch den PowerControlCode-Parameter angegeben wird. Der InBuffer-Parameter ist optional und kann als NULL angegeben werden, wenn für den angegebenen Vorgang keine Eingabedaten erforderlich sind.
[in] InBufferSize
Die Größe des Eingabepuffers in Bytes, auf den der InBuffer-Parameter verweist. Wenn InBuffer NULL ist, legen Sie InBufferSize auf Null fest.
[out, optional] OutBuffer
Ein Zeiger auf einen vom Aufrufer zugewiesenen Puffer, der die Ausgabedaten aus dem Vorgang enthalten soll. Das Format für die Daten in diesem Puffer hängt vom Energiesteuerungscode ab, der durch den PowerControlCode-Parameter angegeben wird. Der OutBuffer-Parameter ist optional und kann als NULL angegeben werden, wenn der angegebene Vorgang keine Ausgabedaten erzeugt.
[in] OutBufferSize
Die Größe des Ausgabepuffers in Bytes, auf den der OutBuffer-Parameter verweist. Wenn OutBuffer NULL ist, legen Sie OutBufferSize auf Null fest.
[out, optional] BytesReturned
Ein Zeiger auf einen Speicherort, an den die Routine die Anzahl der Bytes von Daten schreibt, die in den Puffer geschrieben wurden, auf den OutBuffer verweist. Die Anzahl der geschriebenen Bytes ist kleiner oder gleich OutBufferSize. Dieser Parameter ist optional und kann als NULL angegeben werden, wenn der Aufrufer nicht wissen muss, wie viele Bytes in den Ausgabepuffer geschrieben wurden.
Rückgabewert
Die StorPortPoFxPowerControl-Routine gibt einen der folgenden status Codes zurück:
Rückgabecode | Beschreibung |
---|---|
|
Der in PowerControlCode angegebene Energiesteuerungsvorgang wurde erfolgreich ausgeführt. |
|
Entweder HwDeviceExtension oder Device ist NULL.
Oder Address verweist auf eine ungültige Einheitenadressstruktur. Oder Das durch Adresse angegebene Speichergerät wurde nicht gefunden. |
|
Das Speichergerät ist nicht bei PoFx registriert. |
|
Die aktuelle IRQL-> DISPATCH_LEVEL. |
|
Der Stromsteuerungsvorgang war nicht erfolgreich. |
Hinweise
Ein Minporttreiber ruft diese Routine auf, um eine Energiesteuerungsanforderung direkt an den PEP zu senden. Eine Energiesteuerungsanforderung ähnelt einer E/A-Steuerungsanforderung (IOCTL). Im Gegensatz zu einem IOCTL wird eine Energiesteuerungsanforderung jedoch direkt an PEP gesendet und von anderen Gerätetreibern im Gerätestapel nicht beachtet. Während eines StorPortPoFxPowerControl-Aufrufs führt pep den angeforderten Vorgang synchron aus.
Ebenso kann der PEP eine Energiesteuerungsanforderung direkt an den Miniport senden. Der Miniporttreiber verarbeitet diese Anforderung in seinen Routinen HwStorAdapterControl und HwStorUnitControl . Der ControlType-Parameter empfängt den ScsiAdapterPoFxPowerControl-Typ in der HwStorAdapterControl-Routine und das ScsiUnitPoFxPowerControl in der HwStorUnitControl-Routine .
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar ab Windows 8. |
Zielplattform | Universell |
Header | storport.h |
Bibliothek | Storport.lib |
IRQL | <= DISPATCH_LEVEL |