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の