storport.h) (回呼函式HW_UNIT_CONTROL
系統會呼叫迷你埠驅動程式的 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 值:
傳回碼 | Description |
---|---|
ScsiUnitControlSuccess | 迷你埠驅動程式已成功完成要求的作業。 |
ScsiUnitControlUnsuccessful | 單元控制作業未成功。 |
備註
Storport 會在 HBA 初始化之後,但在第一個 I/O 之前,使用 ScsiQuerySupportedControlTypes 控件類型呼叫迷你埠的 HwStorUnitControl。 迷你埠驅動程式會在參數中填入其支援的作業SCSI_SUPPORTED_CONTROL_TYPE_LIST結構。 從此呼叫傳回 HwStorUnitControl 之後,Storport 驅動程式只會針對迷你埠支援的作業呼叫 miniport 驅動程式的 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 |
目標平台 | Universal |
標頭 | storport.h (包含 Storport.h) |
IRQL | 請參閱<備註>。 |