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]

要向其中广播当前操作的其他上下文的句柄数组。 D3DDDI_MAX_BROADCAST_CONTEXT常量(定义为 64)定义用户模式显示驱动程序可将当前操作广播到的其他上下文的最大数目。

仅翻转操作支持广播。 若要广播翻转操作,显示微型端口驱动程序必须支持内存映射 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)

另请参阅

pfnAllocateCb

pfnPresentCb