D3DKMT_PRESENT 構造体 (d3dkmthk.h)

D3DKMT_PRESENT構造体では、現在の操作について説明します。

構文

typedef struct _D3DKMT_PRESENT {
  union {
    [in] D3DKMT_HANDLE hDevice;
    [in] D3DKMT_HANDLE hContext;
  };
  void                           D3DKMT_PTR(
    HWND    unnamedParam1,
    hWindow unnamedParam2
  );
  [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;
  void                           D3DKMT_PTR(
    const RECT   *unnamedParam1,
    pSrcSubRects unnamedParam2
  );
  [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;
  void                           D3DKMT_PTR(
    D3DKMT_HANDLE          *unnamedParam1,
    BroadcastSrcAllocation unnamedParam2
  );
  void                           D3DKMT_PTR(
    D3DKMT_HANDLE          *unnamedParam1,
    BroadcastDstAllocation unnamedParam2
  );
       UINT                           PrivateDriverDataSize;
  void                           D3DKMT_PTR(
    PVOID              unnamedParam1,
    pPrivateDriverData unnamedParam2
  );
       BOOLEAN                        bOptimizeForComposition;
} D3DKMT_PRESENT;

メンバー

[in] hDevice

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

[in] hContext

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

void D3DKMT_PTR( HWND unnamedParam1, hWindow unnamedParam2)

[in] VidPnSourceId

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

RestrictVidPnSource ビット フィールド フラグが設定され、hWindow メンバーが NULL の場合、VidPnSourceId メンバーは、全画面表示ビットblt が設定されている出力を示します RestrictVidPnSource が設定され、hWindowNULL 以外の場合、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 列挙を参照) のカラーフィル値またはカラー キー値。 ColorFill ビット フィールド フラグが Flags メンバーで設定されている場合、色の塗りつぶしの値が設定されます。 色キーの値は、SrcColorKey または DstColorKey ビット フィールド フラグが Flags メンバーで設定されている場合に設定されます。 ColorFillSrcColorKeyDstColorKey のビット フィールド フラグは、いつでも 1 つだけ設定されることに注意してください。

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

[in] DstRect

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

[in] SrcRect

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

[in] SubRectCnt

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

void D3DKMT_PTR( const RECT *unnamedParam1, pSrcSubRects unnamedParam2)

[in] PresentCount

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

[in] FlipInterval

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

[in] Flags

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

[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 フラグが設定されている場合にのみ有効です。

void D3DKMT_PTR( D3DKMT_HANDLE *unnamedParam1, BroadcastSrcAllocation unnamedParam2)

void D3DKMT_PTR( D3DKMT_HANDLE *unnamedParam1, BroadcastDstAllocation unnamedParam2)

PrivateDriverDataSize

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

void D3DKMT_PTR( PVOID unnamedParam1, pPrivateDriverData unnamedParam2)

bOptimizeForComposition

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

要件

要件
サポートされている最小のクライアント Windows Vista
Header d3dkmthk.h (D3dkmthk.h を含む)

こちらもご覧ください

D3DDDIFORMAT

D3DKMTPresent

D3DKMT_PRESENTFLAGS

D3DKMT_PRESENTHISTORYTOKEN

D3DKMT_PRESENT_RGNS

Rect