次の方法で共有


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 を参照してください。

住所

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

戻り値

コントロールの種類に応じて、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
ターゲット プラットフォーム 万国
ヘッダー storport.h (Storport.h を含む)
IRQL 「解説」を参照してください。

関連項目

HwStorAdapterControl

SCSI_SUPPORTED_CONTROL_TYPE_LIST

SCSI_UNIT_CONTROL_TYPE