共用方式為


IDE_HW_CONTROL回呼函式 (irb.h)

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

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

語法

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

要求

要求 價值
目標平臺 桌面
標頭 irb.h (包括 Irb.h)

另請參閱

AtaPortGetUncachedExtension