StorPortPoFxIdleComponent 関数 (storport.h)

StorPortPoFxIdleComponent ルーチンは、ストレージ デバイスの指定されたコンポーネントのアクティブ化参照カウントをデクリメントします。

構文

ULONG StorPortPoFxIdleComponent(
  [in]           PVOID               HwDeviceExtension,
  [in, optional] PSTOR_ADDRESS       Address,
  [in, optional] PSCSI_REQUEST_BLOCK Srb,
  [in]           ULONG               Component,
  [in]           ULONG               Flags
);

パラメーター

[in] HwDeviceExtension

ホスト バス アダプター (HBA) のハードウェア デバイス拡張機能へのポインター。

[in, optional] Address

記憶装置ユニットのアドレス。 ストレージ アダプター コンポーネントをアイドリングする場合、このパラメーターは NULL です

[in, optional] Srb

コンポーネントの非アクティブ化をトリガーする SRB。 ミニポートがデバイス コンポーネントを内部的にアイドリングしている場合、このパラメーターは NULL です

[in] Component

コンポーネントを識別するインデックス。 このパラメーターは、ミニポート ドライバーが StorPortInitializePoFxPower の呼び出しでデバイスに登録されたSTOR_POFX_DEVICE構造体の Components 配列へのインデックスです。 Components 配列に N 個の要素が含まれている場合、コンポーネントインデックスの範囲は 0 から N ~ 1 です。

[in] Flags

使用しません。 0 に設定されます。

戻り値

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

リターン コード 説明
STOR_STATUS_SUCCESS
ストレージ デバイスのアクティブ化参照が正常にデクリメントされ、コンポーネントがアイドル状態になりました。
STOR_STATUS_INVALID_PARAMETER
HwDeviceExtension または Device が NULL です。

または

アドレス は、無効なユニット アドレス構造を指しています。

または

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

または

ストレージ デバイスは、電源管理フレームワーク (PoFx) に登録されていません。

または

Srb が指す SRB は Storport から送信されません。

または

Flags パラメーターは 0 以外です。

STOR_STATUS_INVALID_DEVICE_REQUEST
アダプターまたはユニットは PoFx をサポートしていません。

または

StorPortPoFxIdleComponent は、非アクティブなコンポーネントと、StorPortPoFxActivateComponent への以前の呼び出しが実行されなかった Srb で呼び出されました。

STOR_STATUS_INVALID_IRQL
現在の IRQL > DISPATCH_LEVEL。
STOR_STATUS_BUSY
デバイス コンポーネントのアクティブな参照はデクリメントされましたが、コンポーネントはまだアクティブです。

注釈

現在、アダプター デバイスとユニット デバイスの両方の最大コンポーネント数は 1 です。 Component のインデックスは常に 0 に設定する必要があります。

StorPortPoFxIdleComponent の各呼び出しは、StorPortPoFxActivateComponent の以前の呼び出しと一致する必要があります。

要件

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

こちらもご覧ください

STOR_POFX_DEVICE

StorPortInitializePoFxPower

StorPortPoFxActivateComponent