共用方式為


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數據類型,表示要呈現給裝置的核心模式句柄。 裝置句柄會提供給等位中的 D3DKMTPresent 函式,D3DKMT_PRESENT包含以便與 Microsoft Direct3D 第 10 版相容。

[in] hContext

D3DKMT_HANDLE數據類型,表示要呈現給裝置內容的內核模式句柄。

void D3DKMT_PTR( HWND unnamedParam1, hWindow unnamedParam2)

[in] VidPnSourceId

視訊呈現網路路徑中視訊呈現來源的以零起始的標識符, (VidPN) 拓撲,如果 RestrictVidPnSource 位字段旗標是在 Flags 成員中設定,則會限制顯示。

如果已設定 RestrictVidPnSource 位字段旗標,且 hWindow 成員為 NULL,VidPnSourceId 成員會指出已導向全螢幕 bitblt 的輸出,如果已設定 RestrictVidPnSourcehWindow 為非 NULL,VidPnSourceId 會指出要限制視窗式位區塊傳輸的輸出。

[in] hSource

如果 Flags 成員中未設定 ColorFill 位欄位旗標,則表示系統記憶體或主要配置的核心模式句柄D3DKMT_HANDLE數據類型。

[in] hDestination

D3DKMT_HANDLE數據類型,表示目的地配置的核心模式句柄。 如果目的地未知,則 hDestination 可以是零。

只有在 Flags 成員中設定 Blt 位欄位旗標時,hDestination 中的句柄才有效。

如果 hDestination 成員中的句柄為非零,則 hDestinationhWindow 句柄必須參考兩個不同的大小主要配置,hDevice 成員中的裝置必須擁有 VidPnSourceId 成員所識別的視訊呈現來源,而且必須在 Flags 成員中設定 SrcRectValid 位字段旗標。

[in] Color

ARGB 32 位 (會看到 D3DDDIFORMAT 列舉) 色彩填滿或色彩索引鍵值 。 當 ColorFill 位字段旗標在 Flags 成員中設定時,就會設定色彩填滿的值。 當 SrcColorKeyDstColorKey 位字段旗標在 Flags 成員中設定時,就會設定色彩索引鍵的值。 請注意,隨時只會設定其中一個 ColorFillSrcColorKeyDstColorKey 位字段旗標。

如果主要格式為 palettized RGB,Color 會包含調色盤索引,而不是來自 D3DDDIFORMAT 的D3DDDIFMT_A8R8G8B8值。

[in] DstRect

bitblt 的選擇性目的地 RECT 。 只有在 Flags 成員中設定 DstRectValid 位字段旗標時,才會使用目的地 RECT。

[in] SrcRect

bitblt 的選擇性來源 RECT。 只有在 Flags 成員中設定 SrcRectValid 位字段旗標時,才會使用來源 RECT。

[in] SubRectCnt

pSrcSubRects指向呈現時所指定的子矩形區域數目。

void D3DKMT_PTR( const RECT *unnamedParam1, pSrcSubRects unnamedParam2)

[in] PresentCount

可針對 hDevice 所指定的裝置排入佇列的目前作業數目。

[in] FlipInterval

D3DDDI_FLIPINTERVAL_TYPE型別值,指出翻轉間隔 (,也就是說,如果翻轉發生在零、一、二、三或四個垂直同步) 。

[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 陣列包含一個元素,OpenGL ICD 會將目前作業傳送至擁有的內容, (hContext) 並廣播至該另一個內容。

[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
標頭 d3dkmthk.h (包含 D3dkmthk.h)

另請參閱

D3DDDIFORMAT

D3DKMTPresent

D3DKMT_PRESENTFLAGS

D3DKMT_PRESENTHISTORYTOKEN

D3DKMT_PRESENT_RGNS

矩形