Freigeben über


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
STOR_STATUS_SUCCESS
Der in PowerControlCode angegebene Energiesteuerungsvorgang wurde erfolgreich ausgeführt.
STOR_STATUS_INVALID_PARAMETER
Entweder HwDeviceExtension oder Device ist NULL.

Oder

Address verweist auf eine ungültige Einheitenadressstruktur.

Oder

Das durch Adresse angegebene Speichergerät wurde nicht gefunden.

STOR_STATUS_INVALID_DEVICE_REQUEST
Das Speichergerät ist nicht bei PoFx registriert.
STOR_STATUS_INVALID_IRQL
Die aktuelle IRQL-> DISPATCH_LEVEL.
STOR_STATUS_UNSUCCESSFUL
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

Weitere Informationen

HwStorAdapterControl

HwStorUnitControl