次の方法で共有


D3DKMT_PRESENT構造体 (d3dkmthk.h)

D3DKMT_PRESENT構造体は、現在の操作を記述します。

構文

typedef struct _D3DKMT_PRESENT {
  union {
    [in] D3DKMT_HANDLE hDevice;
    [in] D3DKMT_HANDLE hContext;
  };
  [in] HWND                           hWindow;
  [in] D3DDDI_VIDEO_PRESENT_SOURCE_ID VidPnSourceId;
  [in] D3DKMT_HANDLE                  hSource;
  [in] D3DKMT_HANDLE                  hDestination;
  [in] UINT                           Color;
  [in] RECT                           DstRect;
  [in] RECT                           SrcRect;
  [in] UINT                           SubRectCnt;
  [in] const RECT                     *pSrcSubRects;
  [in] UINT                           PresentCount;
  [in] D3DDDI_FLIPINTERVAL_TYPE       FlipInterval;
  [in] D3DKMT_PRESENTFLAGS            Flags;
  [in] ULONG                          BroadcastContextCount;
       D3DKMT_HANDLE                  BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT];
  [in] HANDLE                         PresentLimitSemaphore;
  [in] D3DKMT_PRESENTHISTORYTOKEN     PresentHistoryToken;
       D3DKMT_PRESENT_RGNS            *pPresentRegions;
  union {
         D3DKMT_HANDLE hAdapter;
         D3DKMT_HANDLE hIndirectContext;
  };
       UINT                           Duration;
       D3DKMT_HANDLE                  *BroadcastSrcAllocation;
       D3DKMT_HANDLE                  *BroadcastDstAllocation;
       UINT                           PrivateDriverDataSize;
       PVOID                          pPrivateDriverData;
       BOOLEAN                        bOptimizeForComposition;
} D3DKMT_PRESENT;

メンバーズ

[in] hDevice

提示するデバイスへのカーネル モード ハンドルを表すD3DKMT_HANDLEデータ型。 デバイス ハンドルは、Microsoft Direct3D バージョン 10 との互換性のために含D3DKMT_PRESENT共用体の D3DKMTPresent 関数に提供されます。

[in] hContext

提示するデバイス コンテキストへのカーネル モード ハンドルを表すD3DKMT_HANDLEデータ型。

[in] hWindow

ビット ブロック転送 (bitblt) が適用されるウィンドウへのハンドル。 NULL の値は、デスクトップ ウィンドウを示します。 Blt または ColorFill ビット フィールド フラグが Flags メンバーで指定されていない限り、hWindow の値は NULL できます。

[in] VidPnSourceId

Flags メンバーで RestrictVidPnSource ビット フィールド フラグが設定されている場合、表示を制限するビデオ 存在ネットワーク (VidPN) トポロジのパスにあるビデオ存在ソースの 0 から始まる識別番号。

RestrictVidPnSource ビット フィールド フラグが設定され、hWindow メンバーが NULL場合、VidPnSourceId メンバーは、全画面表示ビットレットが直接出力される出力を示します に設定 RestrictVidPnSource が設定され、hWindow が非NULLである 、VidPnSourceId は、ウィンドウ化されたビット ブロック転送を制限する出力を示します。

[in] hSource

ColorFill ビット フィールド フラグが Flags メンバーに設定されていない場合に、システム メモリまたはプライマリ割り当てに対するカーネル モード ハンドルを表すD3DKMT_HANDLEデータ型。

[in] hDestination

宛先の割り当てに対するカーネル モード ハンドルを表すD3DKMT_HANDLEデータ型。 宛先 不明な場合は、hDestination を 0 にすることができます。

hDestination のハンドルは、Blt ビット フィールド フラグが Flags メンバーに設定されている場合にのみ有効です。

hDestination メンバーのハンドルが 0 以外の場合、hDestination ハンドルと hWindow ハンドルは、同じサイズの 2 つの異なるプライマリ割り当てを参照する必要があります。 hDevice メンバー内のデバイスは、VidPnSourceId メンバーによって識別されるビデオ存在ソースを所有している必要があり、SrcRectValid ビット フィールド フラグは、Flags メンバーで設定する必要があります。

[in] Color

ARGB 32 ビット (D3DDDIFORMAT 列挙体を参照) カラー フィルまたはカラー キー値。 Flags メンバーで ColorFill ビット フィールド フラグが設定されている場合、色の塗りつぶしの値が設定されます。 カラー キーの値は、SrcColorKey または DstColorKey ビット フィールド フラグが Flags メンバーに設定されている場合に設定されます。 ColorFill、SrcColorKey、および DstColorKey ビット フィールド フラグは、いつでも 1 つだけ設定されることに注意してください。

プライマリ形式が淡色化された RGB の場合、Color には、D3DDDIFORMATのD3DDDIFMT_A8R8G8B8値ではなくパレット インデックスが含まれます。

[in] DstRect

省略可能な宛先 bitblt の RECT。 宛先 RECT は、DstRectValid ビット フィールド フラグが Flags メンバーに設定されている場合にのみ使用されます。

[in] SrcRect

bitblt のオプションのソース RECT。 ソース RECT は、SrcRectValid ビット フィールド フラグが Flags メンバーに設定されている場合にのみ使用されます。

[in] SubRectCnt

pSrcSubRects が示すときに指定されたサブrectangular 領域の数。

[in] pSrcSubRects

提示時に指定される、副回復領域 (RECT) の配列へのポインター。

[in] PresentCount

hDeviceで指定されたデバイスに対してキューに登録できる現在の操作 数。

[in] FlipInterval

反転間隔を示す D3DDDI_FLIPINTERVAL_TYPE型指定された値 (つまり、0、1、2、3、または 4 つの垂直同期の後に反転が発生した場合)。

[in] Flags

ビット フィールド フラグで表示方法を識別する D3DKMT_PRESENTFLAGS 構造体。 ColorFill、srcColorKey、および DstColorKey ビット フィールド フラグは相互に排他的であることに注意してください。

[in] BroadcastContextCount

BroadcastContext が指定 配列内の追加コンテキストの数。

[in] BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]

現在の操作をブロードキャストする追加のコンテキストへのカーネル モード ハンドルを表すD3DKMT_HANDLEデータ型の配列。 D3DDDI_MAX_BROADCAST_CONTEXT定数 (64) は、OpenGL ICD が現在の操作をブロードキャストできるコンテキストの最大数を定義します。

ブロードキャストはフリップ操作でのみサポートされます。 フリップ操作をブロードキャストするには、ディスプレイ ミニポート ドライバーは、メモリ マップ I/O (MMIO) ベースのフリップをサポートする必要があります。 MMIO フリップのサポートを示すために、ディスプレイ ミニポート ドライバーは、DxgkDdiQueryAdapterInfo 関数が呼び出されたときに、DXGK_DRIVERCAPS 構造体の FlipCaps メンバーに FlipOnVSyncMmIo ビット フィールド フラグを設定します。

hContext メンバーが指定し、OpenGL ICD が提示する元のコンテキストは、BroadcastContext 配列内の要素ではありません。 たとえば、BroadcastContext 配列に 1 つの要素が含まれている場合、OpenGL ICD は現在の操作を所有コンテキスト (hContext) に送信し、その 1 つの追加コンテキストにブロードキャストします。

[in] PresentLimitSemaphore

現在の制限セマフォへのハンドル。

Windows 7 以降でサポートされています。

[in] PresentHistoryToken

現在の操作の種類を識別する D3DKMT_PRESENTHISTORYTOKEN 構造体。

Windows 7 以降でサポートされています。

pPresentRegions

ダーティ領域と移動領域を識別する D3DKMT_PRESENT_RGNS 構造体へのポインター。

Windows 8 以降でサポートされています。

hAdapter

グラフィックス アダプターのハンドル。

hIndirectContext

DoD の現在のパスを介してリダイレクトするための間接アダプター コンテキスト。 このメンバーは、PresentIndirect フラグが設定されている場合にのみ有効です。

Duration

現在の期間ごと。 DurationValid フラグが設定されている場合にのみ有効です。

BroadcastSrcAllocation

ソースのリンクされたディスプレイ アダプター。

BroadcastDstAllocation

リンク先のリンクされたディスプレイ アダプター。

PrivateDriverDataSize

プライベート ドライバーのデータ サイズ。

pPrivateDriverData

オプションのプライベート ドライバー データを含むバッファーへのポインター。

bOptimizeForComposition

デバイスがコンポジション用に最適化されているかどうかを示します。

必要条件

要件 価値
サポートされる最小クライアント Windows Vista
ヘッダー d3dkmthk.h (D3dkmthk.h を含む)

関連項目

D3DDDIFORMAT

D3DKMTPresent

D3DKMT_PRESENTFLAGS

D3DKMT_PRESENTHISTORYTOKEN

D3DKMT_PRESENT_RGNS

RECT の