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 をサポートしているかどうかを示す値をルーチンが書き込む BOOLEAN 変数へのポインター。 この値が 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 をサポートしていない場合、デバイスのファンクション ドライバーが D3cold への移行を有効にするために SetD3ColdSupport ルーチンを呼び出した場合でも、デバイスは D3cold に入ることはありません。 この場合、SetD3ColdSupport 呼び出し 効果はありませんが、無害です。
このため、ほとんどのデバイス ドライバーは、GetBusDriverD3ColdSupport ルーチンを呼び出す必要はありません。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 8 以降で使用できます。 |
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | wdm.h (Wdm.h を含む) |
IRQL | PASSIVE_LEVEL |
関連項目
GetIdleWakeInfo の
SetD3ColdSupport の