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