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 Hostbusadapter (HBA). Dies ist die Geräteerweiterung, die zum Registrieren des Geräts in einem vorherigen Aufruf von StorPortInitializePoFxPowerverwendet 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 von dem vom PowerControlCode Parameter angegebenen Energiesteuerungscode ab. 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 des Vorgangs enthalten soll. Das Format für die Daten in diesem Puffer hängt von dem vom PowerControlCode Parameter angegebenen Energiesteuerungscode ab. 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 eine Position, in die die Routine die Anzahl der 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 Statuscodes zurück:

Rückgabecode Beschreibung
STOR_STATUS_SUCCESS
Der in PowerControlCode- angegebene Stromsteuerungsvorgang wurde erfolgreich ausgeführt.
STOR_STATUS_INVALID_PARAMETER
Entweder HwDeviceExtension oder Device ist NULL.

-oder-

Address verweist auf eine ungültige Einheitenadressenstruktur.

-oder-

Das durch Address 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.

Bemerkungen

Ein Miniporttreiber ruft diese Routine auf, um eine Leistungssteuerungsanforderung direkt an den PEP zu senden. Eine Energiesteuerungsanforderung ähnelt einer E/A-Steuerungsanforderung (IOCTL). Im Gegensatz zu einer IOCTL wird jedoch eine Leistungssteuerungsanforderung direkt an PEP gesendet und wird von anderen Gerätetreibern im Gerätestapel nicht beobachtet. Während eines StorPortPoFxPowerControl- Aufrufs führt der PEP den angeforderten Vorgang synchron aus.

Ebenso kann der PEP eine Leistungssteuerungsanforderung direkt an den Miniport senden. Der Miniporttreiber verarbeitet diese Anforderung in den HwStorAdapterControl- und HwStorUnitControl- Routinen. Der parameter ControlType empfängt den ScsiAdapterPoFxPowerControl Typ in der HwStorAdapterControl Routine und die ScsiUnitPoFxPowerControl in der HwStorUnitControl Routine.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Ab Windows 8 verfügbar.
Zielplattform- Universal
Header- storport.h
Library Storport.lib
IRQL- <= DISPATCH_LEVEL

Siehe auch

HwStorAdapterControl-

HwStorUnitControl-