共用方式為


IDE_HW_CONTROL回呼函式 (irb.h)

IdeHwControl 迷你埠驅動程式例程會通知迷你埠驅動程式 隨插即用 (PnP) 和電源事件。

注意 ATA 埠驅動程式和 ATA 迷你埠驅動程式模型未來可能會改變或無法使用。 相反地,我們建議使用 Storport 驅動程式Storport 迷你埠 驅動程式模型。
 

語法

IDE_HW_CONTROL IdeHwControl;

BOOLEAN IdeHwControl(
  [in]      PVOID ChannelExtension,
  [in]      IDE_CONTROL_ACTION ControlAction,
  [in, out] PVOID Parameters
)
{...}

參數

[in] ChannelExtension

通道延伸模組的指標。

[in] ControlAction

包含 型別為 IDE_CONTROL_ACTION 的列舉值,表示要執行的控件動作。

[in, out] Parameters

緩衝區的指標,其中包含與控件動作相關聯的參數。 此參數可以有下表中的其中一個值。

控制件動作 參數 描述
IdeStart 參數會指向類型為 IDE_CHANNEL_CONFIGURATION的結構。 表示埠驅動程式正在啟動通道。
IdeVendorDefined 參數會指向類型為 IDE_VENDOR_DEFINED_POWER_INFO的結構。 表示有廠商定義的電源事件即將推出。

傳回值

如果作業成功,IdeHwControl 會傳回 TRUE。 否則會傳回 FALSE

備註

埠驅動程式會在叫用此例程之前,確定通道上沒有未處理的 I/O。 當系統進入不同的電源狀態時,迷你埠驅動程式可以有自己的電源原則方法。 若要達成此目的,迷你埠驅動程序必須執行下列動作:

  • 將電源原則設定配置新增至迷你埠驅動程式的 INF 檔案。 需要 GUID 才能呈現迷你埠驅動程式定義的電源原則。 如需電源設定指示詞的詳細資訊,請參閱 INF AddPowerSetting 指示詞。 如需 GUID 的詳細資訊,請參閱 磁碟設定
  • 使用控件動作 IdeStart 呼叫迷你埠驅動程式例程 IdeHwControl 時:
    檢查 ChannelConfiguration 結構中的 SupportedAdvances.AdvancedChannelConfigurationSupported 字段。
    檢查 ChannelConfiguration 結構中的 AdvancedChannelConfiguration->Present.VendorDefinedPower 字段。
    如果先前列出的兩個字段的值都是 TRUE,這個版本的 ATA 埠驅動程式支援廠商定義的電源管理。
    如果 ATA 埠驅動程式支援廠商定義的電源管理,迷你埠驅動程式可以藉由設定 AdvancedChannelConfiguration->VendorDefinedPower.ValidGuids 和 AdvancedChannelConfiguration->VendorDefinedPower.Guid[] 字段 (後者應該是迷你端口驅動程式 INF 檔案中電源原則的 GUID) 。
  • 註冊廠商定義的電源管理之後,迷你埠驅動程式將能夠在系統電源配置變更時,透過控制動作 IdeVendorDefined 來接收其 IdeHwControl 例程的呼叫。
  • 雖然迷你埠驅動程式會使用控件動作 IdeVendorDefined 來處理 IdeHwControl 例程,但應該執行下列動作:
    比較結構IDE_VENDOR_DEFINED_POWER_INFO參數位段中的 SettingGuid 欄位與迷你埠驅動程式註冊的 GUID,以確定此通道的呼叫是 。 如果 GUID 不相符,迷你埠驅動程式應該完成呼叫,且不採取任何動作。
    從結構IDE_VENDOR_DEFINED_POWER_INFO的參數位段中取得 [值 ] 欄位,然後執行適當的迷你埠驅動程式特定電源管理動作。

規格需求

需求
目標平台 桌面
標頭 irb.h (包含 Irb.h)

另請參閱

AtaPortGetUncachedExtension