DXGIDDICB_PRESENT 结构 (dxgiddi.h)
DXGIDDICB_PRESENT 结构描述要向和从中复制内容的分配。
语法
typedef struct DXGIDDICB_PRESENT {
[in] D3DKMT_HANDLE hSrcAllocation;
[in] D3DKMT_HANDLE hDstAllocation;
[in] void *pDXGIContext;
[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;
DXGI_DDI_FLIP_INTERVAL_TYPE SyncIntervalOverride;
} DXGIDDICB_PRESENT;
成员
[in] hSrcAllocation
表示源分配的内核模式句柄的D3DKMT_HANDLE数据类型。 Microsoft Direct3D 运行时的 pfnAllocateCb 函数返回此句柄。 因此,用户模式显示驱动程序应使用此句柄从中复制内容。
[in] hDstAllocation
表示目标分配的内核模式句柄的D3DKMT_HANDLE数据类型。 如果目标未知,hDstAllocation 可以为零;内核模式将在通过 DMA 将硬件命令流发送到图形处理器之前确定目标。
[in] pDXGIContext
Microsoft DirectX 图形基础结构的句柄 (DXGI) 上下文。 此句柄对驱动程序不透明。 驱动程序应将驱动程序在调用其 PresentDXGI 函数时收到的 DXGI_DDI_ARG_PRESENT 结构的 pDXGIContext 成员的句柄分配给此成员。
[in] hContext
驱动程序将复制操作提交到的上下文的句柄。 用户模式显示驱动程序以前通过调用 pfnCreateContextCb 函数创建了此上下文。
[in] BroadcastContextCount
BroadcastContext 成员指定的数组中其他上下文的数目。
[in] BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]
要向其中广播当前操作的其他上下文的句柄数组。 D3DDDI_MAX_BROADCAST_CONTEXT常量(定义为 64)定义用户模式显示驱动程序可将当前操作广播到的其他上下文的最大数目。
仅翻转操作支持广播。 若要广播翻转操作,显示微型端口驱动程序必须支持内存映射 I/O (MMIO) 的翻转。 为了指示支持 MMIO 翻转,显示微型端口驱动程序在调用其 DxgkDdiQueryAdapterInfo 函数时,在 DXGK_DRIVERCAPS 结构的 FlipCaps 成员中设置 FlipOnVSyncMmIo 位字段标志。
hContext 成员指定且用户模式显示驱动程序呈现的原始上下文不是 BroadcastContext 数组中的元素。 例如,如果 BroadcastContext 数组包含一个元素,则用户模式显示驱动程序会将当前操作发送到拥有的上下文 (hContext) 并广播到该附加上下文。
BroadcastSrcAllocation
将呈现内容的分配。
BroadcastDstAllocation
如果为非零,则表示当前的目标分配。
PrivateDriverDataSize
专用驱动程序数据大小(以字节为单位)。
pPrivateDriverData
要传递给 DxgiPresent 的专用驱动程序数据。
bOptimizeForComposition
DWM 涉及组合。
SyncIntervalOverrideValid
替代应用同步间隔有效。
SyncIntervalOverride
替代应用同步间隔。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 Windows Vista 和更高版本的 Windows 操作系统中可用。 |
标头 | dxgiddi.h (包括 D3d10umddi.h) |