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 函数时,在 FlipCapsDXGK_DRIVERCAPS 结构的成员中设置 FlipOnVSyncMmIo 位字段标志。

hContext 成员指定的原始上下文,并且用户模式显示驱动程序呈现给 BroadcastContext 数组中不是元素。 例如,如果 BroadcastContext 数组包含一个元素,则用户模式显示驱动程序会将当前作发送到自己的上下文(hContext),并广播到该另一个上下文。

BroadcastSrcAllocation

分配将显示哪些内容。

BroadcastDstAllocation

如果为非零,则表示当前的目标分配。

PrivateDriverDataSize

专用驱动程序数据大小(以字节为单位)。

pPrivateDriverData

要传递给 DdiPresent 的专用驱动程序数据。

bOptimizeForComposition

DWM 参与构成。

SyncIntervalOverrideValid

替代应用同步间隔有效。

SyncIntervalOverride

替代应用同步间隔。

要求

要求 价值
最低支持的客户端 在 Windows Vista 和更高版本的 Windows作系统中可用。
标头 d3dumddi.h (包括 D3dumddi.h)

另请参阅

pfnAllocateCb

pfnPresentCb