GET_D3COLD_CAPABILITY回呼函式 (wdm.h)
GetBusDriverD3ColdSupport 例程可讓裝置的驅動程序查詢列舉總線驅動程式是否支援 D3cold 裝置電源狀態。
語法
GET_D3COLD_CAPABILITY GetD3coldCapability;
NTSTATUS GetD3coldCapability(
[in, optional] PVOID Context,
[out] PBOOLEAN D3ColdSupported
)
{...}
參數
[in, optional] Context
介面特定內容資訊的指標。 呼叫端會將此參數設定為 介面 D3COLD_SUPPORT_INTERFACE 結構 內容 成員的值。
[out] D3ColdSupported
布爾值變數的指標,例程會寫入值,以指出總線驅動程式是否支援 D3cold。 如果此值 TRUE,則總線驅動程式支援 D3cold。 如果 FALSE,則總線驅動程式不支援 D3cold。 如果呼叫失敗,例程會傳回錯誤狀態代碼,而且不會寫入此變數的任何專案。
傳回值
如果成功,GetBusDriverD3ColdSupport 例程會傳回STATUS_SUCCESS。 否則,它會傳回適當的錯誤狀態代碼。
言論
裝置的驅動程式會呼叫 windows ACPI 驅動程式Acpi.sys所實作的這個例程版本。 此例程會檢查裝置的父總線驅動程式,以判斷此總線驅動程式是否支援 D3cold 電源狀態。
例如,從 Windows 8 開始,Microsoft提供支援 D3cold 的收件匣 USB 3.0 eXtensible 主機控制器介面 (xHCI) 驅動程式。 有些第三方硬體廠商會為其 xHCI 控制器提供 Windows 驅動程式,但這些驅動程式可能不支援 D3cold。 USB 3.0 裝置的驅動程式可以呼叫 GetBusDriverD3ColdSupport 例程,以判斷父 xHCI 控制器驅動程式是否支援 D3cold。
如果下列所有專案都成立,則總線驅動程序支援 D3cold:
- 總線驅動程式會實作GUID_D3COLD_SUPPORT_INTERFACE驅動程式介面。
- 總線驅動程式會在此介面中實作 GetBusDriverD3ColdSupport 例程。
- GetBusDriverD3ColdSupport 例程的輸出值表示總線驅動程式支援 D3cold。
只有在總線驅動程式支援此轉換時,總線上的裝置才能轉換至 D3cold 子狀態。 如果總線驅動程式不支援 D3cold,則即使裝置的函式驅動程式呼叫 SetD3ColdSupport 例程,裝置也永遠不會進入 D3cold,讓轉換至 D3cold。 在此情況下,SetD3ColdSupport 呼叫沒有作用,但無害。
因此,大部分設備驅動器都不需要呼叫 GetBusDriverD3ColdSupport 例程。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 從 Windows 8 開始提供。 |
目標平臺 | 桌面 |
標頭 | wdm.h (包括 Wdm.h) |
IRQL | PASSIVE_LEVEL |