IDirectDrawSurface7 接口 (ddraw.h)

应用程序使用 IDirectDrawSurface7 接口的方法创建 DirectDrawSurface 对象并使用系统级变量。 本部分是对此接口方法的引用。

继承

IDirectDrawSurface7 接口继承自 IUnknown 接口。 IDirectDrawSurface7 还具有以下类型的成员:

方法

IDirectDrawSurface7 接口具有这些方法。

 
IDirectDrawSurface7::AddAttachedSurface

将指定的 z 缓冲区图面附加到此图面。
IDirectDrawSurface7::AddOverlayDirtyRect

IDirectDrawSurface7::AddOverlayDirtyRect 方法当前未实现。
IDirectDrawSurface7::Blt

执行位块传输 (bitblt) 。 此方法在 bitblt 操作期间不支持 z 缓冲或 alpha 混合。
IDirectDrawSurface7::BltBatch

IDirectDrawSurface7::BltBatch 方法当前未实现。
IDirectDrawSurface7::BltFast

使用源颜色键或目标颜色键执行源复制 bitblt 或透明 bitblt。
IDirectDrawSurface7::ChangeUniquenessValue

手动更新此图面的唯一性值。
IDirectDrawSurface7::D eleteAttachedSurface

分离一个或多个附加表面。
IDirectDrawSurface7::EnumAttachedSurfaces

枚举附加到此图面的所有图面。
IDirectDrawSurface7::EnumOverlayZOrders

枚举指定目标上的覆盖图面。 可以按从前到后或从后到前的顺序枚举覆盖层。
IDirectDrawSurface7::Flip

使与DDSCAPS_BACKBUFFER图面关联的表面内存与前缓冲区表面相关联。
IDirectDrawSurface7::FreePrivateData

释放与此图面关联的指定私有数据。
IDirectDrawSurface7::GetAttachedSurface

获取具有指定功能的附加图面,并递增检索到的接口的引用计数。
IDirectDrawSurface7::GetBltStatus

获取有关位块传输 (bitblt) 操作的状态。
IDirectDrawSurface7::GetCaps

检索此图面的功能。 这些功能不一定与显示设备的功能相关。
IDirectDrawSurface7::GetClipper

检索与此图面关联的 DirectDrawClipper 对象,并递增返回的剪辑器的引用计数。
IDirectDrawSurface7::GetColorKey

检索此图面的颜色键值。
IDirectDrawSurface7::GetDC

为此图面创建设备上下文的 GDI 兼容句柄。
IDirectDrawSurface7::GetDDInterface

检索用于创建此图面的 DirectDraw 对象的接口。
IDirectDrawSurface7::GetFlipStatus

检索有关此图面是否已完成翻转过程的状态。
IDirectDrawSurface7::GetLOD

检索当前为托管 mipmap 图面设置 (LOD) 的最大详细级别。 此方法仅在托管纹理上成功。
IDirectDrawSurface7::GetOverlayPosition

检索此图面的显示坐标。 此方法用于可见的活动覆盖图面 (即) 设置了DDSCAPS_OVERLAY标志的图面。
IDirectDrawSurface7::GetPalette

检索与此图面关联的 DirectDrawPalette 对象,并递增返回的调色板的引用计数。
IDirectDrawSurface7::GetPixelFormat

检索此图面的颜色和像素格式。
IDirectDrawSurface7::GetPriority

检索此纹理的纹理管理优先级。 此方法仅在托管纹理上成功。
IDirectDrawSurface7::GetPrivateData

将与此图面关联的专用数据复制到提供的缓冲区。
IDirectDrawSurface7::GetSurfaceDesc

检索此图面在其当前条件下的说明。
IDirectDrawSurface7::GetUniquenessValue

检索此图面的当前唯一性值。
IDirectDrawSurface7::Initialize

初始化 DirectDrawSurface 对象。
IDirectdrawSurface7::IsLost

确定是否释放了与 DirectDrawSurface 对象关联的表面内存。
IDirectDrawSurface7::Lock

获取指向表面内存的指针。
IDirectDrawSurface7::P ageLock

防止在位块传输 (bitblt) 操作(使用直接内存访问 (DMA) 传输系统内存时,系统内存图面被分页。
IDirectDrawSurface7::P ageUnlock

解锁系统内存图面,然后允许将其分页。
IDirectDrawSurface7::ReleaseDC

释放以前使用 IDirectDrawSurface7::GetDC 方法获取的设备上下文的句柄。
IDirectDrawSurface7::Restore

还原已丢失的图面。 当释放与 DirectDrawSurface 对象关联的表面内存时,将发生这种情况。
IDirectDrawSurface7::SetClipper

将剪辑器对象附加到此图面或从中删除一个对象。
IDirectDrawSurface7::SetColorKey

如果硬件支持每个表面的颜色键,则为 DirectDrawSurface 对象设置颜色键值。
IDirectDrawSurface7::SetLOD

设置托管 mipmap 图面 (LOD) 的最大详细级别。 此方法仅在托管纹理上成功。
IDirectDrawSurface7::SetOverlayPosition

更改覆盖图面的显示坐标。
IDirectDrawSurface7::SetPalette

将调色板对象附加到 (或从图面) 分离一个对象。 图面将此调色板用于所有后续操作。 调色板更改会立即发生,而不考虑刷新时间。
IDirectDrawSurface7::SetPriority

为此纹理分配纹理管理优先级。 此方法仅在托管纹理上成功。
IDirectDrawSurface7::SetPrivateData

将数据与供应用程序而不是 DirectDraw 使用的表面相关联。 数据按值传递,多个数据集可以与单个图面相关联。
IDirectDrawSurface7::SetSurfaceDesc

设置现有图面的特征。
IDirectDrawSurface7::Unlock

通知 DirectDraw 直接图面操作已完成。
IDirectDrawSurface7::UpdateOverlay

重新定位或修改覆盖图面的视觉属性。 这些图面必须设置DDSCAPS_OVERLAY标志。
IDirectDrawSurface7::UpdateOverlayDisplay

IDirectDrawSurface7::UpdateOverlayDisplay 方法当前未实现。
IDirectDrawSurface7::UpdateOverlayZOrder

设置覆盖的 z 顺序。

备注

IDirectDrawSurface7 接口的方法可以组织成以下组:

方法
分配内存 InitializeIsLostRestore
连接图面 AddAttachedSurfaceDeleteAttachedSurfaceEnumAttachedSurfacesGetAttachedSurface
BitBltting BltBltBatchBltFastGetBltStatus
颜色键 GetColorKeySetColorKey
设备上下文 GetDCReleaseDC
交替 FlipGetFlipStatus
锁定图面 LockPageLockPageUnlockUnlock
杂项 GetDDInterface
叠加 AddOverlayDirtyRectEnumOverlayZOrdersGetOverlayPositionSetOverlayPositionUpdateOverlayUpdateOverlayDisplayUpdateOverlayZOrder
专用图面数据 FreePrivateDataGetPrivateDataSetPrivateData
Surface 功能 GetCaps
Surface 剪刀 GetClipperSetClipper
图面特征 ChangeUniquenessValueGetPixelFormatGetSurfaceDescGetUniquenessValueSetSurfaceDesc
Surface 调色板 GetPaletteSetPalette
纹理 GetLODGetPrioritySetLODSetPriority
 

IDirectDrawSurface7 接口通过提供提供更好的表面管理和易用性的方法扩展了以前版本的接口的功能。 此接口中的许多方法接受的参数与以前版本的接口中的参数略有不同。 无论 IDirectDrawSurface3 接口方法可能接受 DDSURFACEDESC 结构或 IDirectDrawSurface3 接口,IDirectDrawSurface7 中的方法都接受 DDSURFACEDESC2 结构或 IDirectDrawSurface7 接口。

使用 LPDIRECTDRAWSURFACE、LPDIRECTDRAWSURFACE2、LPDIRECTDRAWSURFACE3、LPDIRECTDRAWSURFACE4 或 LPDIRECTDRAWSURFACE7 数据类型声明指向各种 DirectDrawSurface 对象接口的变量。 Ddraw.h 头文件使用以下代码声明这些数据类型:


typedef struct IDirectDrawSurface     FAR *LPDIRECTDRAWSURFACE;
typedef struct IDirectDrawSurface2    FAR *LPDIRECTDRAWSURFACE2;
typedef struct IDirectDrawSurface3    FAR *LPDIRECTDRAWSURFACE3;
typedef struct IDirectDrawSurface4    FAR *LPDIRECTDRAWSURFACE4;
typedef struct IDirectDrawSurface7    FAR *LPDIRECTDRAWSURFACE7;

要求

   
目标平台 Windows
标头 ddraw.h