次の方法で共有


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 オペレーティング システムで使用できます。
ヘッダー d3dumddi.h (D3dumddi.h を含む)

関連項目

pfnAllocateCb

pfnPresentCb する