VRAM_SURFACE_INFO 结构 (ksmedia.h)

VRAM_SURFACE_INFO结构描述 AVStream 微型驱动程序捕获音频或视频数据的系统或显示内存区域。

语法

typedef struct {
  UINT_PTR  hSurface;
  LONGLONG  VramPhysicalAddress;
  DWORD     cbCaptured;
  DWORD     dwWidth;
  DWORD     dwHeight;
  DWORD     dwLinearSize;
  LONG      lPitch;
  ULONGLONG ullReserved[16];
} VRAM_SURFACE_INFO, *PVRAM_SURFACE_INFO;

成员

hSurface

指向标识 VRAM 图面的内核模式句柄的指针。

VramPhysicalAddress

此成员包含显示内存中图面的物理地址。 微型驱动程序在处理程序中填充此成员,用于 KSPROPERTY_MAP_CAPTURE_HANDLE_TO_VRAM_ADDRESS

cbCaptured

此成员指定复制到 VRAM 图面的字节数。 微型驱动程序设置此值。

dwWidth

此成员指定视频数据的宽度(以像素为单位)。 微型驱动程序设置此值。

dwHeight

此成员指定视频数据的高度(以像素为单位)。 微型驱动程序设置此值。

dwLinearSize

此成员指定非矩形矩形表面的线性大小(以字节为单位)。 微型驱动程序设置此值。

lPitch

此成员指定图面的间距;即到下一行开头的距离(以字节为单位)。 这也称为表面 的步幅 。 微型驱动程序设置此值。

ullReserved[16]

微型驱动程序可以使用此成员在处理 KSPROPERTY_MAP_CAPTURE_HANDLE_TO_VRAM_ADDRESS 请求时存储有关表面的信息。 但是,请谨慎使用;此结构不会在 AVStrMiniPinProcess 调用中持久化。

注解

当微型驱动程序通过KSPROPERTY_MAP_CAPTURE_HANDLE_TO_VRAM_ADDRESS属性调用接收 VRAM_SURFACE_INFO 时,成员列表中的 VramPhysicalAddress (除 ullReserved) 之外的成员将被归零。捕获驱动程序可以在这些成员中存储与捕获相关的私有数据。

然后,AVStream 将此信息存储在流标头中,并将其返回到 AVStrMiniPinProcess 回调函数中的微型驱动程序。

这些成员中的数据在流标头的生存期内保留。 删除所有克隆或先行先行后,将无法再访问此数据。

要求

要求
Header ksmedia.h (包括 Ksmedia.h)

另请参阅

AVStrMiniPinProcess

KSPROPERTY_MAP_CAPTURE_HANDLE_TO_VRAM_ADDRESS