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數據類型,代表要呈現之裝置的核心模式句柄。 裝置句柄會提供給聯集內的 D3DKMTPresent 函式,D3DKMT_PRESENT包含此函式,以便與 Microsoft Direct3D 第 10 版相容。
[in] hContext
D3DKMT_HANDLE數據類型,表示要呈現之裝置內容的核心模式句柄。
[in] hWindow
位區塊傳輸 (bitblt) 套用至之視窗的句柄。
NULL 的值表示桌面視窗。 除非在
[in] VidPnSourceId
如果 RestrictVidPnSource 位字段旗標是在 旗標 成員中設定,則會在影片呈現網路 (VidPN) 拓撲的路徑中,以零起始的視訊呈現來源標識符。
如果已設定 RestrictVidPnSource 位欄位旗標,且 hWindow 成員 NULL,則 VidPnSourceId 成員會指出全螢幕 bitblt 的輸出 為 導向至 If RestrictVidPnSource 已設定,且 hWindow 為非NULL,VidPnSourceId 會指出要限制視窗位區塊傳輸的輸出。
[in] hSource
如果 ColorFill 位欄位旗段旗標未在 旗標 成員中設定,表示系統記憶體或主要配置的核心模式句柄D3DKMT_HANDLE數據類型。
[in] hDestination
D3DKMT_HANDLE數據類型,表示目的地配置的核心模式句柄。 如果目的地未知,hDestination 可以是零。
只有當 Blt 位欄位旗標在 Flags 成員中設定 Blt 位欄位旗標時,hDestination 中的句柄才有效。
如果 hDestination 成員中的句柄為非零,hDestination 和 hWindow 句柄必須參考相同大小的兩個不同的主要配置: hDevice 成員中的裝置必須擁有由 VidPnSourceId 成員識別的視訊簡報來源,而且 SrcRectValid 位字段旗標必須在 Flags 成員中設定。
[in] Color
ARGB 32 位 (請參閱 D3DDDIFORMAT 列舉) 色彩填滿或色彩索引鍵值 。 當 ColorFill 位字段旗標在 Flags 成員中設定時,會設定色彩填滿的值。 當 SrcColorKey 或 DstColorKey 位字段旗標在 Flags 成員中設定時,會設定色彩索引鍵的值。 請注意,隨時只會設定其中一個 ColorFill、SrcColorKey和 DstColorKey 位欄位字段旗標。
如果主要格式為調色 RGB,Color 包含調色盤索引,而不是來自D3DDDIFORMAT的D3DDDIFMT_A8R8G8B8值。
[in] DstRect
bitblt 的選擇性目的地 RECT。 只有當 DstRectValid 位字段旗標是在 旗標 成員中設定時,才會使用目的地 RECT。
[in] SrcRect
bitblt 的選擇性來源 RECT。 只有當 SrcRectValid 位字段旗標是在 Flags 成員中設定時,才會使用來源 RECT。
[in] SubRectCnt
pSrcSubRects 所指定的子區域數目。
[in] pSrcSubRects
呈現時所指定子範圍區域 (RECT) 陣列的指標。
[in] PresentCount
hDevice所指定之裝置的目前作業數目。
[in] FlipInterval
D3DDDI_FLIPINTERVAL_TYPE型別值,指出翻轉間隔(也就是說,如果翻轉發生在零、一、二、三或四個垂直同步之後)。
[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 陣列包含一個元素,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 旗標時才有效。
BroadcastSrcAllocation
來源的連結顯示配接器。
BroadcastDstAllocation
目的地的鏈接顯示配接器。
PrivateDriverDataSize
私人驅動程序數據大小。
pPrivateDriverData
包含選擇性私人驅動程序數據的緩衝區指標。
bOptimizeForComposition
指出裝置是否已針對組合進行優化。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows Vista |
標頭 | d3dkmthk.h (包括 D3dkmthk.h) |