D3DKMT_PRESENT 结构 (d3dkmthk.h)
D3DKMT_PRESENT 结构描述当前操作。
语法
typedef struct _D3DKMT_PRESENT {
union {
[in] D3DKMT_HANDLE hDevice;
[in] D3DKMT_HANDLE hContext;
};
void D3DKMT_PTR(
HWND unnamedParam1,
hWindow unnamedParam2
);
[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;
void D3DKMT_PTR(
const RECT *unnamedParam1,
pSrcSubRects unnamedParam2
);
[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;
void D3DKMT_PTR(
D3DKMT_HANDLE *unnamedParam1,
BroadcastSrcAllocation unnamedParam2
);
void D3DKMT_PTR(
D3DKMT_HANDLE *unnamedParam1,
BroadcastDstAllocation unnamedParam2
);
UINT PrivateDriverDataSize;
void D3DKMT_PTR(
PVOID unnamedParam1,
pPrivateDriverData unnamedParam2
);
BOOLEAN bOptimizeForComposition;
} D3DKMT_PRESENT;
成员
[in] hDevice
D3DKMT_HANDLE数据类型,表示要呈现给设备的内核模式句柄。 设备句柄提供给D3DKMT_PRESENT包含的联合中的 D3DKMTPresent 函数,以便与 Microsoft Direct3D 版本 10 兼容。
[in] hContext
D3DKMT_HANDLE数据类型,表示要呈现的设备上下文的内核模式句柄。
void D3DKMT_PTR( HWND unnamedParam1, hWindow unnamedParam2)
[in] VidPnSourceId
如果在 Flags 成员中设置了 RestrictVidPnSource 位字段标志,则视频呈现网络的路径中视频显示源的从零开始的标识号 (VidPN) 拓扑中限制显示。
如果设置了 RestrictVidPnSource 位字段标志,并且 hWindow 成员为 NULL, 则 VidPnSourceId 成员指示将全屏 bitblt 定向到哪个输出(如果设置了 RestrictVidPnSource 且hWindow 为非 NULL), 则 VidPnSourceId 指示将窗口化位块传输限制到哪个输出。
[in] hSource
如果 Flags 成员中未设置 ColorFill 位字段标志,则表示系统内存或主要分配的内核模式句柄的D3DKMT_HANDLE数据类型。
[in] hDestination
表示目标分配的内核模式句柄的D3DKMT_HANDLE数据类型。 如果目标未知,则 hDestination 可以为零。
仅当在 Flags 成员中设置了 Blt 位字段标志时,hDestination 中的句柄才有效。
如果 hDestination 成员中的句柄为非零,则 hDestination 和 hWindow 句柄必须引用大小相同的两个不同的主分配,hDevice 成员中的设备必须拥有由 VidPnSourceId 成员标识的视频现有源,并且必须在 Flags 成员中设置 SrcRectValid 位字段标志。
[in] Color
ARGB 32 位 (查看 D3DDDIFORMAT 枚举) 颜色填充或颜色键值 。 在 Flags 成员中设置 ColorFill 位字段标志时,将设置颜色填充的值。 在 Flags 成员中设置 SrcColorKey 或 DstColorKey 位字段标志时,将设置颜色键的值。 请注意,在任何时候只设置 ColorFill、 SrcColorKey 和 DstColorKey 位字段标志之一。
如果主要格式为淡化 RGB, 则 Color 包含调色板索引,而不是D3DDDIFORMAT D3DDDIFMT_A8R8G8B8值。
[in] DstRect
bitblt 的可选目标 RECT 。 仅当在 Flags 成员中设置了 DstRectValid 位字段标志时,才使用目标 RECT。
[in] SrcRect
bitblt 的可选源 RECT。 仅当在 Flags 成员中设置了 SrcRectValid 位字段标志时,才使用源 RECT。
[in] SubRectCnt
pSrcSubRects 在演示时指定的子矩形区域的数目。
void D3DKMT_PTR( const RECT *unnamedParam1, pSrcSubRects unnamedParam2)
[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 标志时有效。
void D3DKMT_PTR( D3DKMT_HANDLE *unnamedParam1, BroadcastSrcAllocation unnamedParam2)
void D3DKMT_PTR( D3DKMT_HANDLE *unnamedParam1, BroadcastDstAllocation unnamedParam2)
PrivateDriverDataSize
专用驱动程序数据大小。
void D3DKMT_PTR( PVOID unnamedParam1, pPrivateDriverData unnamedParam2)
bOptimizeForComposition
指示设备是否针对组合进行优化。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista |
标头 | d3dkmthk.h (包括 D3dkmthk.h) |
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈