次の方法で共有


D3DDDICB_PRESENT構造体 (d3dumddi.h)

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

構文

typedef struct _D3DDDICB_PRESENT {
  [in] D3DKMT_HANDLE            hSrcAllocation;
  [in] D3DKMT_HANDLE            hDstAllocation;
  [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;
       D3DDDI_FLIPINTERVAL_TYPE SyncIntervalOverride;
} D3DDDICB_PRESENT;

メンバー

[in] hSrcAllocation

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

[in] hDstAllocation

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

[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

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

bOptimizeForComposition

DWM はコンポジションに関与します。

SyncIntervalOverrideValid

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

SyncIntervalOverride

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

要件

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

こちらもご覧ください

pfnAllocateCb

pfnPresentCb