StorPortPoFxActivateComponent 関数 (storport.h)

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

構文

ULONG StorPortPoFxActivateComponent(
  [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。 ミニポートが Storport 経由で送信されない要求のデバイス コンポーネントをアクティブ化している場合、このパラメーターは NULL です

[in] Component

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

[in] Flags

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

戻り値

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

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

または

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

または

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

または

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

または

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

または

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

STOR_STATUS_INVALID_DEVICE_REQUEST
Tアダプターまたはユニットは PoFx をサポートしていません。
STOR_STATUS_INVALID_IRQL
現在の IRQL > DISPATCH_LEVEL。
STOR_STATUS_BUSY
ストレージ デバイスのアクティブ化参照は正常にインクリメントされましたが、コンポーネントはまだアイドル状態です

注釈

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

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

要件

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

こちらもご覧ください

STOR_POFX_DEVICE

StorPortInitializePoFxPower

StorPortPoFxIdleComponent