共用方式為


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 會呼叫 miniport 的 HwStorUnitControlScsiQuerySupportedControlTypes HBA 初始化之後,但在第一個 I/O 之前。 迷你埠驅動程式會填入 SCSI_SUPPORTED_CONTROL_TYPE_LIST 結構,Parameters 其支援的作業。 HwStorUnitControl 從這個呼叫傳回之後,Storport 驅動程式只會針對迷你埠支援的作業呼叫 miniport 驅動程式的 HwStorAdapterControl 回呼。

Storport 會呼叫 HwStorUnitControl,以通知迷你埠驅動程式變更 Address所識別的單位裝置,或迷你埠應該在該單位上執行查詢或設定作業,例如啟動單位或處理單位的電源控制作業。

下表列出發出控件類型時取得的目前 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