共用方式為


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 請參閱<備註>。

另請參閱

HwStorAdapterControl

SCSI_SUPPORTED_CONTROL_TYPE_LIST

SCSI_UNIT_CONTROL_TYPE