DXGKDDI_SETVIDPNSOURCEADDRESSWITHMULTIPLANEOVERLAY3 コールバック関数 (d3dkmddi.h)

DXGKDDI_SETVIDPNSOURCEADDRESSWITHMULTIPLANEOVERLAY3 が呼び出され、表示されるオーバーレイ構成が変更されます。

構文

DXGKDDI_SETVIDPNSOURCEADDRESSWITHMULTIPLANEOVERLAY3 DxgkddiSetvidpnsourceaddresswithmultiplaneoverlay3;

NTSTATUS DxgkddiSetvidpnsourceaddresswithmultiplaneoverlay3(
  IN_CONST_HANDLE hAdapter,
  IN_OUT_PDXGKARG_SETVIDPNSOURCEADDRESSWITHMULTIPLANEOVERLAY3 pSetVidPnSourceAddressWithMultiPlaneOverlay
)
{...}

パラメーター

hAdapter

オーバーレイ ハードウェアを含むアダプターを識別します。

pSetVidPnSourceAddressWithMultiPlaneOverlay

表示するサーフェスと表示オプションを記述する DXGKARG_SETVIDPNSOURCEADDRESSWITHMULTIPLANEOVERLAY3 構造体へのポインター。

戻り値

DXGKDDI_SETVIDPNSOURCEADDRESSWITHMULTIPLANEOVERLAY3 は、次の値を返します。

リターン コード 説明
STATUS_SUCCESS ルーチンは正常に完了しました。
STATUS_INVALID_PARAMETER [ハードウェア フリップ キュー モデル]/windows-hardware/drivers/display/hardware-flip-queue) で、ドライバーがフリップ要求を処理できませんでした。
STATUS_RETRY 保留中のフリップが原因でドライバーが ハードウェアへの要求をキューに登録 できなかった、またはドライバーをPASSIVE_LEVELで呼び出す必要があるなどの理由で返されます。 PASSIVE_LEVELでドライバーを呼び出す必要がある場合は、 DXGK_SETVIDPNSOURCEADDRESS_OUTPUT_FLAGSも設定する必要があります。PrePresentNeeded フラグ。

注釈

通常、この関数は割り込みレベルで呼び出されますが、ドライバーがPASSIVE_LEVELでのみ実行できるハードウェア構成を実行する必要がある場合、ドライバーは、STATUS_RETRYを返し、 DXGK_SETVIDPNSOURCEADDRESS_OUTPUT_FLAGSを設定することで、PASSIVE_LEVELでこの関数を呼び戻すように要求できます。PrePresentNeeded フラグ。

PASSIVE_LEVELで呼び出された場合でも、ドライバーは、呼び出しで GPU スケジューラ スレッド メインをブロックし、遅延が発生する可能性があるため、この呼び出しにかなりの時間を費やすことを避ける必要があります。 時間のかかるアクションは、ドライバーごとに個別の作業項目としてキューに登録し、バックグラウンドで処理する必要があります。 このシナリオでは、キューに登録された項目と、将来の事前/事後呼び出しによって要求されるハードウェア変更との間の競合は、ドライバーによって管理される必要があります。

要件

要件
対象プラットフォーム Windows
ヘッダー d3dkmddi.h

こちらもご覧ください

DXGKARG_SETVIDPNSOURCEADDRESSWITHMULTIPLANEOVERLAY3