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 状態遷移が現在進行中の場合、 PDXGK_FSTATE_NOTIFICATION 完了通知コールバック PreNotification=FALSE は、遷移が完了するまでしばらく後に続きます。 タイミングによっては、コールバックが発生する 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 から戻る前にこのようなコールバックが発生する可能性があります。 スピン ロックは 、IoCallDriverPDXGK_FSTATE_NOTIFICATION ハンドラーの周りに存在する必要があります。

要件

要件
サポートされている最小のクライアント Windows 8
サポートされている最小のサーバー Windows Server 2012
Header d3dkmthk.h
IRQL DISPATCH_LEVEL

こちらもご覧ください

DXGK_GRAPHICSPOWER_REGISTER_OUTPUT

DXGK_POWER_COMPONENT_MAPPING

DXGK_QUERYADAPTERINFOTYPE

DXGKMT_POWER_SHARED_TYPE

PDXGK_FSTATE_NOTIFICATION