D3DDDICB_PRESENT 結構 (d3dumddi.h)
D3DDDICB_PRESENT結構描述內容複製到和複製來源的配置。
語法
typedef struct _D3DDDICB_PRESENT {
[in] D3DKMT_HANDLE hSrcAllocation;
[in] D3DKMT_HANDLE hDstAllocation;
[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;
D3DDDI_FLIPINTERVAL_TYPE SyncIntervalOverride;
} D3DDDICB_PRESENT;
成員
[in] hSrcAllocation
D3DKMT_HANDLE數據類型,表示來源配置的核心模式句柄。 Microsoft Direct3D 運行時間的 pfnAllocateCb 函式會傳回此句柄。 因此,使用者模式顯示驅動程序應該使用此句柄來複製內容。
[in] hDstAllocation
D3DKMT_HANDLE數據類型,表示目的地配置的核心模式句柄。 如果目的地未知,hDstAllocation 可以是零;核心模式會在硬體命令數據流的 DMA 之前判斷目的地到圖形處理器。
[in] hContext
驅動程式將複製作業提交至的內容句柄。 使用者模式顯示驅動程式先前藉由呼叫 pfnCreateContextCb 函式來建立此內容。
[in] BroadcastContextCount
BroadcastContext 成員指定之陣列中的其他內容數目。
[in] BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]
要廣播目前目前作業之其他內容的句柄陣列。 定義為 64 的D3DDDI_MAX_BROADCAST_CONTEXT常數會定義使用者模式顯示驅動程式可以廣播目前目前作業的其他內容數目上限。
只有翻轉作業才支持廣播。 若要廣播翻轉作業,顯示迷你埠驅動程序必須支援記憶體對應 I/O (MMIO) 型翻轉。 為了指出 MMIO 翻轉的支持,顯示迷你埠驅動程式會在呼叫其 DxgkDdiQueryAdapterInfo 函式時,在 DXGK_DRIVERCAPS 結構的 FlipCaps 成員中設定 FlipOnVSyncMmIo 位字段旗標。
hContext 成員指定的原始內容,以及使用者模式顯示驅動程序呈現給 不是 BroadcastContext 陣列中的元素。 例如,如果 BroadcastContext 陣列包含一個元素,則使用者模式顯示驅動程式會將目前作業傳送至擁有的內容 (hContext) ,並廣播至該另一個內容。
BroadcastSrcAllocation
將呈現哪些內容的配置。
BroadcastDstAllocation
如果為非零,則表示目前的目的配置。
PrivateDriverDataSize
以位元組為單位的私人驅動程序數據大小。
pPrivateDriverData
要傳遞至 DdiPresent 的私人驅動程序數據。
bOptimizeForComposition
DWM 涉及組合。
SyncIntervalOverrideValid
覆寫應用程式同步間隔有效。
SyncIntervalOverride
覆寫應用程式同步間隔。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 可在 Windows Vista 和更新版本的 Windows 作業系統中使用。 |
標頭 | d3dumddi.h (包含 D3dumddi.h) |