IDirectDraw7 接口 (ddraw.h)

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

继承

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

方法

IDirectDraw7 接口具有这些方法。

 
IDirectDraw7::Compact

目前未实现此方法。 (IDirectDraw7.Compact)
IDirectDraw7::CreateClipper

创建 DirectDrawClipper 对象。
IDirectDraw7::CreatePalette

为此 DirectDraw 对象创建 DirectDrawPalette 对象。
IDirectDraw7::CreateSurface

为此 DirectDraw 对象创建 DirectDrawSurface 对象。
IDirectDraw7::D uplicateSurface

复制 DirectDrawSurface 对象。
IDirectDraw7::EnumDisplayModes

枚举硬件通过 DirectDraw 对象公开并与提供的表面说明兼容的所有显示模式。
IDirectDraw7::EnumSurfaces

枚举满足指定表面说明的所有现有或可能的图面。
IDirectDraw7::EvaluateMode

在调用 IDirectDraw7::StartModeTest 后使用,以通过或失败测试提供的每个模式,并单步执行模式,直到测试完成。
IDirectDraw7::FlipToGDISurface

使 GDI 写入主图面的图面。
IDirectDraw7::GetAvailableVidMem

检索给定类型图面的可用显示内存总量和当前可用的显示内存量。
IDirectDraw7::GetCaps

(HEL) 检索硬件和硬件仿真层的设备驱动程序的功能。
IDirectDraw7::GetDeviceIdentifier

获取有关设备驱动程序的信息。 可以谨慎使用此方法来识别特定硬件安装,以实现驱动程序或芯片集行为不佳的解决方法。
IDirectDraw7::GetDisplayMode

检索当前显示模式。
IDirectDraw7::GetFourCCCodes

检索 DirectDraw 对象支持的 FOURCC) (四个字符的代码。 此方法还可以检索支持的代码数。
IDirectDraw7::GetGDISurface

检索 DirectDrawSurface 对象,该对象当前表示 GDI 作为主图面的图面内存。
IDirectDraw7::GetMonitorFrequency

检索 DirectDraw 对象控制的监视器的频率。
IDirectDraw7::GetScanLine

检索当前在监视器上绘制的扫描线。
IDirectDraw7::GetSurfaceFromDC

根据其 GDI 设备上下文句柄检索图面的 IDirectDrawSurface7 接口。
IDirectDraw7::GetVerticalBlankStatus

检索垂直空白的状态。
IDirectDraw7::Initialize

初始化使用 CoCreateInstance COM 函数创建的 DirectDraw 对象。
IDirectDraw7::RestoreAllSurfaces

按创建顺序还原为 DirectDraw 对象创建的所有图面。
IDirectDraw7::RestoreDisplayMode

将主图面的显示设备硬件的模式重置为调用 IDirectDraw7::SetDisplayMode 方法之前的状态。 使用此方法需要独占级别访问权限。
IDirectDraw7::SetCooperativeLevel

确定应用程序的顶级行为。
IDirectDraw7::SetDisplayMode

设置显示设备硬件的模式。
IDirectDraw7::StartModeTest

启动测试以使用当前显示适配器和监视器组合的刷新率信息更新系统注册表。
IDirectDraw7::TestCooperativeLevel

报告窗口或全屏应用程序的 DirectDraw 设备的当前协作级别状态。
IDirectDraw7::WaitForVerticalBlank

帮助应用程序将自身与垂直空白间隔同步。

备注

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

方法
分配内存 压缩初始化
协作级别 SetCooperativeLevelTestCooperativeLevel
创建对象 CreateClipperCreatePaletteCreateSurface
设备功能 GetCaps
显示模式 EnumDisplayModesGetDisplayModeGetMonitorFrequencyRestoreDisplayModeSetDisplayModeWaitForVerticalBlank
显示状态 GetScanLineGetVerticalBlankStatus
杂项 EvaluateModeGetAvailableVidMemGetDeviceIdentifierGetFourCCCodesStartModeTest
Surface 管理 DuplicateSurfaceEnumSurfacesFlipToGDISurfaceGetGDISurfaceGetSurfaceFromDCRestoreAllSurfaces
 

IDirectDraw7 接口通过提供比以前版本更灵活的表面管理的方法,扩展了接口早期版本的功能。 IDirectDraw7 接口中的所有与 Surface 相关的方法接受的参数与 IDirectDraw2 接口中的对应参数略有不同。 无论 IDirectDraw2 接口方法可能接受 DDSURFACEDESC 结构并检索 IDirectDrawSurface3 接口, IDirectDraw7 中的方法都接受 DDSURFACEDESC2 结构并检索 IDirectDrawSurface7 接口。

IDirectDraw7 改进了对规定子对象的生存期的 COM 规则的合规性。

使用 LPDIRECTDRAW、LPDIRECTDRAW2、LPDIRECTDRAW4 或 LPDIRECTDRAW7 数据类型声明一个变量,其中包含指向 IDirectDrawIDirectDraw2IDirectDraw4IDirectDraw7 接口的指针。 Ddraw.h 头文件使用以下代码声明这些数据类型:


typedef struct IDirectDraw     FAR *LPDIRECTDRAW;
typedef struct IDirectDraw2    FAR *LPDIRECTDRAW2;
typedef struct IDirectDraw4    FAR *LPDIRECTDRAW4;
typedef struct IDirectDraw7    FAR *LPDIRECTDRAW7;

要求

   
目标平台 Windows
标头 ddraw.h