PDXGK_INITIAL_COMPONENT_STATE コールバック関数 (d3dkmthk.h)
PDXGK_INITIAL_COMPONENT_STATE コールバック関数は、コンポーネントの状態を初期化するためにクライアント ドライバーによって実装されます。
構文
PDXGK_INITIAL_COMPONENT_STATE PdxgkInitialComponentState;
void PdxgkInitialComponentState(
PVOID GraphicsDeviceHandle,
PVOID PrivateHandle,
ULONG ComponentIndex,
BOOLEAN IsBlockingType,
UINT InitialFState,
GUID ComponentGuid,
UINT PowerComponentMappingFlag
)
{...}
パラメーター
GraphicsDeviceHandle
グラフィックス デバイスのハンドル。
PrivateHandle
任意のコールバックで提供される不透明なハンドル。 このハンドルはグローバルに一意である必要があるため、呼び出し元のドライバーの PDO または FDO へのポインターを使用する必要があります。
ComponentIndex
コンポーネントのインデックス。 一般に、これはグラフィックス アダプターで使用されるインデックスになります。 ただし、リンクされたディスプレイ アダプター (LDA) のシナリオでは例外です。このシナリオでは、ComponentIndex の HIWORD がアダプター インデックスを示します。これは、グラフィックス ドライバーが LDA シナリオでの F 状態の変更のためにグラフィックス カーネルによって呼び出されたときに実行されます。
IsBlockingType
コンポーネントが "ブロック" の場合は TRUE を設定します。たとえば、グラフィックス ドライバーは、コンポーネントを ActiveInD3= 0として報告しています。 それ以外の場合は、FALSE を設定します。
InitialFState
呼び出し時に ComponentIndex によって表されるコンポーネントの F 状態。 F 状態遷移が現在進行中の場合、PreNotification=FALSE
を含む PDXGK_FSTATE_NOTIFICATION 完了通知コールバックは、遷移が完了したときにしばらく後に続きます。 タイミングによっては、PreNotification=TRUE
コールバックが発生することがあります。 発生した場合は、完了通知コールバックの前に置きます。
ComponentGuid
DXGKQAITYPE_POWERCOMPONENTINFO 応答中にこのコンポーネントのグラフィックス ドライバーによって報告されるコンポーネント GUID である GUID 値。
PowerComponentMappingFlag
HIWORD は、これがカスタム ドライバー定義値 (0 = いいえ、1 = はい) であるかどうかを示します。 0 (いいえ) の場合、下位ワードは DXGKMT_POWER_SHARED_TYPE 列挙値を表します。 これらの値は、DXGK_POWER_COMPONENT_MAPPINGに追加された DXGK_POWER_COMPONENT_SHARED_DESC の種類を使用して、DXGKQAITYPE_POWERCOMPONENTINFO 応答中にグラフィックス ドライバーによって設定されます。
戻り値
何一つ
備考
共有電源の登録時 (IoCallDriver 呼び出し)、PDXGK_INITIAL_COMPONENT_STATE が提供された場合は、グラフィックス ドライバーが報告した共有電源コンポーネントごとに 1 回呼び出されます。 このコールバックの動作は次のようになります。
- これらの呼び出しは再入呼び出しであり、IoCallDriver 戻る前に発生
- これらの呼び出しは DISPATCH_LEVEL で発生します。これには、ドライバー コードとデータがメモリ常駐
- IoCallDriver 戻る前にこれらのコールバックが発生するため、DXGK_GRAPHICSPOWER_REGISTER_OUTPUT はまだ入力されていません
- F 状態遷移が現在進行中の場合、通知後の PDXGK_FSTATE_NOTIFICATION は最終的な状態のドライバーに警告します。 このような呼び出しは、InitialComponentStateCb 呼び出しの後に発生することが保証されます。 ただし、同期が必要な場合は、IoCallDriver が返 前にこのようなコールバックが発生する可能性があります。 スピン ロックは、IoCallDriver と PDXGK_FSTATE_NOTIFICATION ハンドラー 周囲に存在する必要があります。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 8 |
サポートされる最小サーバー | Windows Server 2012 |
ヘッダー | d3dkmthk.h |
IRQL | DISPATCH_LEVEL |