Интерфейс IDirectDraw7 (ddraw.h)
Приложения используют методы интерфейса IDirectDraw7 для создания объектов DirectDraw и работы с переменными системного уровня. В этом разделе содержится ссылка на методы интерфейса IDirectDraw7 .
Наследование
Интерфейс IDirectDraw7 наследуется от интерфейса IUnknown . IDirectDraw7 также содержит следующие типы элементов:
Методы
Интерфейс IDirectDraw7 содержит следующие методы.
IDirectDraw7::Compact Этот метод в настоящее время не реализован. (IDirectDraw7.Compact) |
IDirectDraw7::CreateClipper Создает объект DirectDrawClipper. |
IDirectDraw7::CreatePalette Создает объект DirectDrawPalette для этого объекта DirectDraw. |
IDirectDraw7::CreateSurface Создает объект DirectDrawSurface для этого объекта DirectDraw. |
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 Извлекает коды из четырех символов (FOURCC), поддерживаемые объектом DirectDraw. Этот метод также может получить количество поддерживаемых кодов. |
IDirectDraw7::GetGDISurface Извлекает объект DirectDrawSurface, который в настоящее время представляет память поверхности, которую GDI рассматривает как основную поверхность. |
IDirectDraw7::GetMonitorFrequency Извлекает частоту монитора, которым управляет объект DirectDraw. |
IDirectDraw7::GetScanLine Извлекает линию сканирования, которая в настоящее время рисуется на мониторе. |
IDirectDraw7::GetSurfaceFromDC Извлекает интерфейс IDirectDrawSurface7 для поверхности на основе дескриптора контекста устройства GDI. |
IDirectDraw7::GetVerticalBlankStatus Извлекает состояние вертикального пустого поля. |
IDirectDraw7::Initialize Инициализирует объект DirectDraw, созданный с помощью com-функции CoCreateInstance. |
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 принимают параметры, немного отличающиеся от параметров в интерфейсе 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 |
Header | ddraw.h |