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 接口的方法可以组织成以下组:
组 | 方法 |
---|---|
分配内存 | 压缩 和 初始化 |
协作级别 | SetCooperativeLevel 和 TestCooperativeLevel |
创建对象 | CreateClipper、 CreatePalette 和 CreateSurface |
设备功能 | GetCaps |
显示模式 | EnumDisplayModes、 GetDisplayMode、 GetMonitorFrequency、 RestoreDisplayMode、 SetDisplayMode 和 WaitForVerticalBlank |
显示状态 | GetScanLine 和 GetVerticalBlankStatus |
杂项 | EvaluateMode、 GetAvailableVidMem、 GetDeviceIdentifier、 GetFourCCCodes 和 StartModeTest |
Surface 管理 | DuplicateSurface、 EnumSurfaces、 FlipToGDISurface、 GetGDISurface、 GetSurfaceFromDC 和 RestoreAllSurfaces |
IDirectDraw7 接口通过提供比以前版本更灵活的表面管理的方法,扩展了接口早期版本的功能。 IDirectDraw7 接口中的所有与 Surface 相关的方法接受的参数与 IDirectDraw2 接口中的对应参数略有不同。 无论 IDirectDraw2 接口方法可能接受 DDSURFACEDESC 结构并检索 IDirectDrawSurface3 接口, IDirectDraw7 中的方法都接受 DDSURFACEDESC2 结构并检索 IDirectDrawSurface7 接口。
IDirectDraw7 改进了对规定子对象的生存期的 COM 规则的合规性。
使用 LPDIRECTDRAW、LPDIRECTDRAW2、LPDIRECTDRAW4 或 LPDIRECTDRAW7 数据类型声明一个变量,其中包含指向 IDirectDraw、 IDirectDraw2、 IDirectDraw4 或 IDirectDraw7 接口的指针。 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 |