StorPortPoFxPowerControl 関数 (storport.h)

StorPortPoFxPowerControl ルーチンは、電源管理フレームワーク (PoFx) に電源制御要求を送信して、電源エンジン プラグイン (PEP) に転送します。

構文

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
);

パラメーター

[in] HwDeviceExtension

ホスト バス アダプター (HBA) のハードウェア デバイス拡張機能へのポインター。 これは、 StorPortInitializePoFxPower の以前の呼び出しでデバイスを登録するために使用されるデバイス拡張機能です。

Address

電源制御コードへのポインター。 このコードは、要求された操作を指定する GUID 値です。

[in] PowerControlCode

電源制御コードへのポインター。 このコードは、要求された操作を指定する GUID 値です。

[in, optional] InBuffer

操作の入力データを含む呼び出し元によって割り当てられたバッファーへのポインター。 このバッファー内のデータの形式は、 PowerControlCode パラメーターで指定された電源制御コードによって異なります。 InBuffer パラメーターは省略可能であり、指定した操作で入力データが必要ない場合は NULL として指定できます。

[in] InBufferSize

InBuffer パラメーターによって指される入力バッファーのサイズ (バイト単位)。 InBuffer が NULL の場合は、InBufferSize を 0 に設定します。

[out, optional] OutBuffer

操作からの出力データを格納する呼び出し元によって割り当てられたバッファーへのポインター。 このバッファー内のデータの形式は、 PowerControlCode パラメーターで指定された電源制御コードによって異なります。 OutBuffer パラメーターは省略可能であり、指定した操作で出力データが生成されない場合は NULL として指定できます。

[in] OutBufferSize

OutBuffer パラメーターによって指される出力バッファーのサイズ (バイト単位)。 OutBuffer が NULL の場合は、OutBufferSize を 0 に設定します。

[out, optional] BytesReturned

OutBuffer が指すバッファーに書き込まれたデータのバイト数をルーチンが書き込む場所へのポインター。 書き込まれたバイト数は 、OutBufferSize 以下になります。 このパラメーターは省略可能であり、呼び出し元が出力バッファーに書き込まれたバイト数を知る必要がない場合は NULL として指定できます。

戻り値

StorPortPoFxPowerControl ルーチンは、次のいずれかの状態コードを返します。

リターン コード 説明
STOR_STATUS_SUCCESS
PowerControlCode で指定された電源制御操作が正常に実行されました。
STOR_STATUS_INVALID_PARAMETER
HwDeviceExtension または Device が NULL です。

または

アドレス は、無効な単位アドレス構造を指します。

または

Address で指定されたストレージ デバイスが見つかりません。

STOR_STATUS_INVALID_DEVICE_REQUEST
ストレージ デバイスが PoFx に登録されていません。
STOR_STATUS_INVALID_IRQL
現在の IRQL > DISPATCH_LEVEL。
STOR_STATUS_UNSUCCESSFUL
電源制御操作が失敗しました。

注釈

minport ドライバーは、このルーチンを呼び出して、電源制御要求を PEP に直接送信します。 電源制御要求は、I/O 制御要求 (IOCTL) に似ています。 ただし、IOCTL とは異なり、電源制御要求は PEP に直接送信され、デバイス スタック内の他のデバイス ドライバーによって観察されません。 StorPortPoFxPowerControl 呼び出し中に、PEP は要求された操作を同期的に実行します。

同様に、PEP は、ミニポートに直接電源制御要求を送信できます。 ミニポート ドライバーは、 その HwStorAdapterControl ルーチンと HwStorUnitControl ルーチンでこの要求を処理します。 ControlType パラメーターは、HwStorAdapterControl ルーチンで ScsiAdapterPoFxPowerControl 型を受け取り、HwStorUnitControl ルーチンの ScsiUnitPoFxPowerControl を受け取ります。

要件

要件
サポートされている最小のクライアント Windows 8以降で使用できます。
対象プラットフォーム ユニバーサル
Header storport.h
Library Storport.lib
IRQL <= DISPATCH_LEVEL

こちらもご覧ください

HwStorAdapterControl

HwStorUnitControl