DDSURFACEDATA 结构 (dxmini.h)

DirectDraw 使用 DDSURFACEDATA 结构来表示内核模式微型端口驱动程序的图面。

语法

typedef struct _DDSURFACEDATA {
  DWORD     ddsCaps;
  DWORD     dwSurfaceOffset;
  ULONG_PTR fpLockPtr;
  DWORD     dwWidth;
  DWORD     dwHeight;
  LONG      lPitch;
  DWORD     dwOverlayFlags;
  DWORD     dwOverlayOffset;
  DWORD     dwOverlaySrcWidth;
  DWORD     dwOverlaySrcHeight;
  DWORD     dwOverlayDestWidth;
  DWORD     dwOverlayDestHeight;
  DWORD     dwVideoPortId;
  DWORD     dwFormatFlags;
  DWORD     dwFormatFourCC;
  DWORD     dwFormatBitCount;
  DWORD     dwRBitMask;
  DWORD     dwGBitMask;
  DWORD     dwBBitMask;
  ULONG     dwDriverReserved1;
  ULONG     dwDriverReserved2;
  ULONG     dwDriverReserved3;
  ULONG     dwDriverReserved4;
} DDSURFACEDATA, *LPDDSURFACEDATA;

成员

ddsCaps

指向包含用于描述图面的创建功能的 DDSCAPS 结构。

dwSurfaceOffset

指定从帧缓冲区开头到图面开头的字节偏移量。 此字段仅由微型端口驱动程序使用。

fpLockPtr

指向图面的开头。

dwWidth

指定图面宽度(以像素为单位)。

dwHeight

指定图面高度(以像素为单位)。

lPitch

指定图面间距(以字节为单位)。

dwOverlayFlags

指示一组标志,这些标志指定由 DdUpdateOverlay 设置的当前用户模式DDOVER_Xxx 标志。 此成员是以下任何值的按位 OR:

标志 含义
DDOVER_ADDDIRTYRECT 将脏矩形添加到模拟叠加图面。
DDOVER_ALPHADEST 使用像素格式的 alpha 信息或附加到目标图面的 alpha 通道图面作为此覆盖的 alpha 通道。
DDOVER_ALPHADESTCONSTOVERRIDE 使用 DDOVERLAYFX 结构的 dwAlphaDestConst 成员作为此覆盖的目标 alpha 通道。 DDOVERLAYFX 结构在 ddraw.h 中定义。
DDOVER_ALPHADESTNEG 随着 alpha 值增加 (0 不透明) ,目标图面变得更加透明。
DDOVER_ALPHADESTSURFACEOVERRIDE 使用 DirectDraw SDK 文档中定义的 DDOVERLAYFX (结构的 lpDDSAlphaDest 成员) 作为此覆盖层的 alpha 通道目标。
DDOVER_ALPHAEDGEBLEND 使用 DirectDraw SDK 文档中定义的 DDOVERLAYFX 结构的 dwAlphaEdgeBlend 成员 () 作为颜色键颜色边框的图像边缘的 alpha 通道。
DDOVER_ALPHASRC 使用像素格式的 alpha 信息或附加到源图面的 alpha 通道图面作为此覆盖的源 alpha 通道。
DDOVER_ALPHASRCCONSTOVERRIDE 使用 DirectDraw SDK 文档中定义的 DDOVERLAYFX 结构的 dwAlphaSrcConst 成员 () 作为此覆盖层的源 alpha 通道。
DDOVER_ALPHASRCNEG 当 alpha 值增加 (0 不透明) 时,源图面变得更加透明。
DDOVER_ALPHASRCSURFACEOVERRIDE 使用 DirectDraw SDK 文档中定义的 DDOVERLAYFX 结构的 lpDDSAlphaSrc 成员 () 作为此覆盖层的 alpha 通道源。
DDOVER_AUTOFLIP 每次发生硬件视频端口 VSYNC 时,自动翻转到翻转链中的下一个图面。
DDOVER_BOB 单独显示交错视频流的每个字段,而不会造成任何项目。
DDOVER_BOBHARDWARE Bob 使用硬件而不是软件执行,或者正在模拟。
DDOVER_DDFX 使用覆盖 FX 标志定义特殊覆盖效果。
DDOVER_HIDE 关闭此覆盖。
DDOVER_INTERLEAVED 图面内存由交错字段组成。
DDOVER_KEYDEST 使用与目标图面关联的颜色键。
DDOVER_KEYDESTOVERRIDE 使用 DirectDraw SDK 文档中定义的 DDOVERLAYFX 结构的 dckDestColorkey 成员 () 作为目标图面的颜色键。
DDOVER_KEYSRC 使用与源图面关联的颜色键。
DDOVER_KEYSRCOVERRIDE 使用 DirectDraw SDK 文档中定义的 DDOVERLAYFX 结构的 dckSrcColorkey 成员 () 作为源图面的颜色键。
DDOVER_OVERRIDEBOBWEAVE Bob 和 weave 决策不应被其他接口覆盖。 如果设置了此标志,则 DirectDraw 不允许内核模式驱动程序使用内核模式视频传输功能在 bob 和 weave 模式之间切换硬件。
DDOVER_REFRESHALL 在模拟叠加图面上重绘整个图面。
DDOVER_REFRESHDIRTYRECTS 在模拟叠加图面上重绘所有脏矩形。
DDOVER_SHOW 打开此覆盖。

dwOverlayOffset

指定从帧缓冲区开头到覆盖层开头的字节偏移量。 此字段仅由微型端口驱动程序使用。

dwOverlaySrcWidth

指定覆盖源宽度(以像素为单位)。 此字段仅由微型端口驱动程序使用。

dwOverlaySrcHeight

指定覆盖源高度(以像素为单位)。 此字段仅由微型端口驱动程序使用。

dwOverlayDestWidth

指定覆盖目标宽度(以像素为单位)。 此字段仅由微型端口驱动程序使用。

dwOverlayDestHeight

指定覆盖目标高度(以像素为单位)。 此字段仅由微型端口驱动程序使用。

dwVideoPortId

如果此图面由 视频端口扩展 (VPE) 对象馈送,则此字段指示 VPE 对象的 ID,范围中的整数 (0 - (硬件视频端口的最大数目 -1 ) ) ;否则,此字段为 -1。

dwFormatFlags

指定一组像素格式控件标志。 此成员是以下任何值的按位 OR:

标志 含义
DDPF_ALPHA 像素格式描述仅限 alpha 的图面。
DDPF_ALPHAPIXELS 图面具有像素格式的 alpha 通道信息。
DDPF_ALPHAPREMULT 像素中的颜色分量由像素中的 alpha 值预乘。 如果设置了此标志,还必须设置DDPF_ALPHAPIXELS标志。 如果未设置此标志,但设置了DDPF_ALPHAPIXELS标志,则像素格式的颜色分量不会由 alpha 预乘。 在这种情况下,颜色分量必须在执行 alpha 混合操作时乘以 alpha 值。
DDPF_BUMPDUDV 像素格式的凹凸贴图 dUdV 数据有效。
DDPF_BUMPLUMINANCE 像素格式的亮度数据有效。 将亮度悬挂在凹凸贴图图面上时,使用此标志。 然后,像素亮度部分的位掩码由 DDPIXELFORMAT 结构的 dwBumpLuminanceBitCount 成员指示。
DDPF_COMPRESSED 图面将接受指定格式的像素数据,并在写入操作期间对其进行压缩。
DDPF_FOURCC FOURCC 代码有效。
DDPF_LUMINANCE 像素格式的亮度数据有效。 此标志仅用于亮度或亮度加 alpha 表面;位深度随后由 DDPIXELFORMAT 结构的 dwLuminanceBitCount 成员指示。
DDPF_PALETTEINDEXED1 图面已编制 1 位颜色索引。
DDPF_PALETTEINDEXED2 图面已编制 2 位颜色索引。
DDPF_PALETTEINDEXED4 图面已编制 4 位颜色索引。
DDPF_PALETTEINDEXED8 图面已编制 8 位颜色索引。
DDPF_PALETTEINDEXEDTO8 表面是 1 位、2 位或 4 位颜色,索引到 8 位调色板。
DDPF_RGB 像素格式结构中的 RGB 数据有效。
DDPF_RGBTOYUV 图面将接受 RGB 数据,并在写入操作期间将其转换为 YUV 数据。 要写入的数据的格式将包含在像素格式结构中。 将设置DDPF_RGB标志。
DDPF_STENCILBUFFER 图面包含模具信息以及 Z 信息。
DDPF_YUV 像素格式结构中的 YUV 数据有效。
DDPF_ZBUFFER 像素格式描述仅限 z 缓冲区的图面。
DDPF_ZPIXELS 图面采用 RGBZ 格式。

dwFormatFourCC

指定 FOURCC 代码。

dwFormatBitCount

指定每像素 (4、8、16、24 或 32) 位数。

dwRBitMask

指定红色位掩码。

dwGBitMask

指定绿色位掩码。

dwBBitMask

指定蓝色位掩码。

dwDriverReserved1

为 HAL/微型端口保留

dwDriverReserved2

为 HAL/微型端口保留

dwDriverReserved3

为 HAL/微型端口保留

dwDriverReserved4

保留供微型端口驱动程序使用。

要求

   
标头 dxmini.h (包括 Dxmini.h)

请参阅

DDPIXELFORMAT

DDSCAPS

DdUpdateOverlay