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 オペレーティング システムで使用できます。 |
ヘッダー | dxgiddi.h (D3d10umddi.h を含む) |
関連項目
DxgkDdiQueryAdapterInfo の
PresentDXGI を する
pfnAllocateCb の
pfnCreateContextCb の
pfnPresentCbDXGI を する