DXGIDDICB_PRESENT 構造体 (dxgiddi.h)

DXGIDDICB_PRESENT構造体は、コンテンツのコピー元とコピー元の割り当てを記述します。

構文

typedef struct DXGIDDICB_PRESENT {
  [in] D3DKMT_HANDLE               hSrcAllocation;
  [in] D3DKMT_HANDLE               hDstAllocation;
  [in] void                        *pDXGIContext;
  [in] HANDLE                      hContext;
  [in] UINT                        BroadcastContextCount;
       HANDLE                      BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT];
       D3DKMT_HANDLE               *BroadcastSrcAllocation;
       D3DKMT_HANDLE               *BroadcastDstAllocation;
       UINT                        PrivateDriverDataSize;
       PVOID                       pPrivateDriverData;
       BOOLEAN                     bOptimizeForComposition;
       BOOL                        SyncIntervalOverrideValid;
       DXGI_DDI_FLIP_INTERVAL_TYPE SyncIntervalOverride;
} DXGIDDICB_PRESENT;

メンバー

[in] hSrcAllocation

ソース割り当てに対するカーネル モード ハンドルを表すD3DKMT_HANDLEデータ型。 Microsoft Direct3D ランタイムの pfnAllocateCb 関数は、このハンドルを返します。 そのため、ユーザー モードのディスプレイ ドライバーは、このハンドルを使用してコンテンツのコピー元にする必要があります。

[in] hDstAllocation

宛先の割り当てに対するカーネル モード ハンドルを表すD3DKMT_HANDLEデータ型。 宛先が不明な場合は、hDstAllocation を 0 にすることができます。カーネル モードは、DMA 経由でハードウェア コマンド ストリームをグラフィックス プロセッサに送信する直前に、宛先を決定します。

[in] pDXGIContext

Microsoft DirectX グラフィックス インフラストラクチャ (DXGI) コンテキストへのハンドル。 このハンドルはドライバーに対して不透明です。 ドライバーは、ドライバーが PresentDXGI 関数の呼び出しで受け取ったDXGI_DDI_ARG_PRESENT構造体の pDXGIContext メンバーからこのメンバーにハンドルを割り当てる必要があります。

[in] hContext

ドライバーがコピー操作を送信するコンテキストへのハンドル。 ユーザー モードのディスプレイ ドライバーは、 以前に pfnCreateContextCb 関数を呼び出して、このコンテキストを作成しました。

[in] BroadcastContextCount

BroadcastContext メンバーが指定する配列内の追加コンテキストの数。

[in] BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]

現在の操作をブロードキャストする追加のコンテキストへのハンドルの配列。 D3DDDI_MAX_BROADCAST_CONTEXT定数 (64) は、ユーザー モードディスプレイドライバーが現在の操作をブロードキャストできる追加コンテキストの最大数を定義します。

ブロードキャストは、反転操作でのみサポートされます。 フリップ操作をブロードキャストするには、ディスプレイ ミニポート ドライバーがメモリ マップ I/O (MMIO) ベースの反転をサポートする必要があります。 MMIO フリップのサポートを示すために、ディスプレイ ミニポート ドライバーは、DxgkDdiQueryAdapterInfo 関数が呼び出されたときに、DXGK_DRIVERCAPS構造体の FlipCaps メンバーに FlipOnVSyncMmIo ビット フィールド フラグを設定します。

hContext メンバーが指定し、ユーザー モードディスプレイ ドライバーが提示する元のコンテキストは、BroadcastContext 配列内の要素ではありません。 たとえば、 BroadcastContext 配列に 1 つの要素が含まれている場合、ユーザー モードディスプレイ ドライバーは現在の操作を所有コンテキスト (hContext) に送信し、その 1 つの追加コンテキストにブロードキャストします。

BroadcastSrcAllocation

表示されるコンテンツの割り当て。

BroadcastDstAllocation

0 以外の場合、 は現在の宛先の割り当てを表します。

PrivateDriverDataSize

プライベート ドライバーのデータ サイズ (バイト単位)。

pPrivateDriverData

DxgiPresent に渡すプライベート ドライバー データ。

bOptimizeForComposition

DWM は合成に関与します。

SyncIntervalOverrideValid

オーバーライド アプリの同期間隔は有効です。

SyncIntervalOverride

アプリの同期間隔をオーバーライドします。

要件

要件
サポートされている最小のクライアント Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。
Header dxgiddi.h (D3d10umddi.h を含む)

こちらもご覧ください

DXGI_DDI_ARG_PRESENT

DXGK_DRIVERCAPS

DxgkDdiQueryAdapterInfo

PresentDXGI

pfnAllocateCb

pfnCreateContextCb

pfnPresentCbDXGI