次の方法で共有


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

関連項目

DXGI_DDI_ARG_PRESENT

DXGK_DRIVERCAPS

DxgkDdiQueryAdapterInfo

PresentDXGI する

pfnAllocateCb

pfnCreateContextCb

pfnPresentCbDXGI する