DXGI_OUTDUPL_FRAME_INFO 结构 (dxgi1_2.h)

DXGI_OUTDUPL_FRAME_INFO结构描述当前桌面映像。

语法

typedef struct DXGI_OUTDUPL_FRAME_INFO {
  LARGE_INTEGER                 LastPresentTime;
  LARGE_INTEGER                 LastMouseUpdateTime;
  UINT                          AccumulatedFrames;
  BOOL                          RectsCoalesced;
  BOOL                          ProtectedContentMaskedOut;
  DXGI_OUTDUPL_POINTER_POSITION PointerPosition;
  UINT                          TotalMetadataBufferSize;
  UINT                          PointerShapeBufferSize;
} DXGI_OUTDUPL_FRAME_INFO;

成员

LastPresentTime

桌面映像的上次更新的时间戳。 操作系统调用 QueryPerformanceCounter 函数来获取该值。 零值表示自应用程序上次调用 IDXGIOutputDuplication::AcquireNextFrame 方法以获取桌面映像的下一帧以来未更新桌面映像。

LastMouseUpdateTime

上次更新鼠标的时间戳。 操作系统调用 QueryPerformanceCounter 函数来获取该值。 零值表示自上次调用 IDXGIOutputDuplication::AcquireNextFrame 方法以获取桌面图像的下一帧的应用程序以来,鼠标的位置或形状未更新。 始终为鼠标更新提供鼠标位置。 新的指针形状由 PointerShapeBufferSize 成员中的非零值指示。

AccumulatedFrames

自调用应用程序处理最后一个桌面映像以来,操作系统在桌面映像图面中累积的帧数。 有关此数字的详细信息,请参阅备注。

RectsCoalesced

指定操作系统是否通过合并脏区域来累积更新。 因此,脏区域可能包含未修改的像素。 如果累积脏区域,则为 TRUE;否则为 FALSE

ProtectedContentMaskedOut

指定桌面映像是否可能包含桌面映像中已黑屏的受保护内容。 如果受保护的内容已被黑屏,则为 TRUE;否则为 FALSE。 应用程序可以使用此信息通知远程用户某些桌面内容可能受保护,因此不可见。

PointerPosition

一个 DXGI_OUTDUPL_POINTER_POSITION 结构,当 LastMouseUpdateTime 成员为非零值时描述最近的鼠标位置;否则,将忽略此值。 此值提供绘制指针形状左上角的位置的坐标;此值不是热点的桌面位置。

TotalMetadataBufferSize

用于存储此帧的所有桌面更新元数据的缓冲区的大小(以字节为单位)。 有关此大小的详细信息,请参阅备注。

PointerShapeBufferSize

用于保存鼠标形状的新像素数据的缓冲区的大小(以字节为单位)。 有关此大小的详细信息,请参阅备注。

备注

非零 LastMouseUpdateTime 指示对鼠标指针位置或鼠标指针位置和形状的更新。 也就是说,鼠标指针位置对于非零 LastMouseUpdateTime 始终有效;但是,应用程序必须检查 PointerShapeBufferSize 成员的值,以确定形状是否也已更新。

如果只更新了指针 (即未更新桌面映像) ,则 AccumulatedFramesTotalMetadataBufferSizeLastPresentTime 成员将设置为零。

AccumulatedFrames 值 1 表示应用程序在显示新的桌面图像之前已完成处理最后一帧。 如果 AccumulatedFrames 值大于 1,则表示在应用程序处理上次桌面更新时,会进行更多桌面映像更新。 在这种情况下,操作系统累积了更新区域。 有关桌面更新的详细信息,请参阅桌面更新数据。

非零 TotalMetadataBufferSize 指示存储所有桌面更新元数据所需的缓冲区的总大小。 应用程序无法确定每种类型的元数据的大小。 应用程序必须调用 IDXGIOutputDuplication::GetFrameDirtyRectsIDXGIOutputDuplication::GetFrameMoveRectsIDXGIOutputDuplication::GetFramePointerShape 方法以获取有关每种类型的元数据的信息。

注意若要更正视觉效果,应用程序必须在处理脏矩形之前处理移动区域数据。
 

要求

   
最低受支持的客户端 适用于 Windows 7 的 Windows 8 和平台更新 [仅限桌面应用]
最低受支持的服务器 Windows Server 2012 和适用于 Windows Server 2008 R2 的平台更新 [仅限桌面应用]
标头 dxgi1_2.h

请参阅

DXGI 结构

IDXGIOutputDuplication::AcquireNextFrame