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 を含む) |