HW_UNIT_CONTROL コールバック関数 (storport.h)

ミニポート ドライバーの HwStorUnitControl ルーチンは、ストレージ ユニット デバイスの状態を制御する同期操作を実行するために呼び出されます。

構文

HW_UNIT_CONTROL HwUnitControl;

SCSI_UNIT_CONTROL_STATUS HwUnitControl(
  [in] PVOID DeviceExtension,
  [in] SCSI_UNIT_CONTROL_TYPE ControlType,
  [in] PVOID Parameters
)
{...}

パラメーター

[in] DeviceExtension

ミニポート ドライバーのユニットごとの記憶域へのポインター。

[in] ControlType

コントロールの種類 がミニポート ドライバーによってアクションを開始する単位制御操作を指定するSCSI_UNIT_CONTROL_TYPE値。 詳細については 、「SCSI_UNIT_CONTROL_TYPE 」を参照してください。

[in] Parameters

ControlType に関連する情報を含む構造体または値へのポインター。 すべての構造体は呼び出し元によって割り当てられます。 詳細については 、「SCSI_UNIT_CONTROL_TYPE 」を参照してください。

Address

制御操作が指定されている単位のアドレス。

戻り値

コントロールの種類に応じて、 HwStorUnitControl は次の SCSI_UNIT_CONTROL_STATUS 値のいずれかを返します。

リターン コード 説明
ScsiUnitControlSuccess ミニポート ドライバーは、要求された操作が正常に完了しました。
ScsiUnitControlUnsuccessful ユニット制御操作が成功しなかった。

注釈

Storport は、HBA が初期化された後、最初の I/O の前に ScsiQuerySupportedControlTypes コントロール型でミニポートの HwStorUnitControl を呼び出します。 ミニポート ドライバーは、パラメーターSCSI_SUPPORTED_CONTROL_TYPE_LIST構造をサポートする操作を入力します。 HwStorUnitControl がこの呼び出しから戻った後、Storport ドライバーはミニポート ドライバーでサポートされている操作に対してのみミニポート ドライバーの HwStorAdapterControl コールバックを呼び出します。

Storport は HwStorUnitControl を呼び出して、 アドレスで識別されたユニット デバイスに対する変更をミニポート ドライバーに通知するか、ユニットの起動やユニットの電源制御操作の処理など、ミニポートがそのユニットに対してクエリまたは設定操作を実行する必要があることを通知します。

次の表は、現在の IRQL と、コントロールの種類が発行されたときに取得されたスピンロックの一覧です。

コントロール型 Irql スピン ロック
ScsiQuerySupportedControlTypes PASSIVE_LEVEL なし
ScsiUnitUsage PASSIVE_LEVEL なし
ScsiUnitStart PASSIVE_LEVEL なし
ScsiUnitPower DISPATCH_LEVEL なし
ScsiUnitPoFxPowerInfo PASSIVE_LEVEL なし
ScsiUnitPoFxPowerRequired DISPATCH_LEVEL なし
ScsiUnitPoFxPowerActive DISPATCH_LEVEL なし
ScsiUnitPoFxPowerSetFState DISPATCH_LEVEL なし
ScsiUnitPoFxPowerControl DISPATCH_LEVEL なし
ScsiUnitRemove PASSIVE_LEVEL なし
ScsiUnitSurpriseRemoval PASSIVE_LEVEL なし
ScsiUnitRichDescription PASSIVE_LEVEL なし
ScsiUnitQueryBusType PASSIVE_LEVEL なし
ScsiUnitQueryFruId PASSIVE_LEVEL なし

HwStorUnitControl という名前は、単なるプレースホルダーです。 このルーチンの実際のプロトタイプは、 storport.h で次のように定義されています。

typedef
SCSI_UNIT_CONTROL_STATUS
HW_UNIT_CONTROL (
  _In_ PVOID  DeviceExtension,
  _In_ SCSI_UNIT_CONTROL_TYPE  ControlType,
  _In_ PVOID  Parameters
  );

要件

要件
サポートされている最小のクライアント Windows 8
対象プラットフォーム ユニバーサル
Header storport.h (Storport.h を含む)
IRQL 「解説」を参照してください。

こちらもご覧ください

HwStorAdapterControl

SCSI_SUPPORTED_CONTROL_TYPE_LIST

SCSI_UNIT_CONTROL_TYPE