Функция DirectDrawCreateEx (ddraw.h)

Создает экземпляр объекта DirectDraw, который поддерживает набор интерфейсов Direct3D в DirectX 7.0. Чтобы использовать функции Direct3D в DirectX 7.0, создайте объект DirectDraw с помощью этой функции.

Синтаксис

HRESULT DirectDrawCreateEx(
  [in]  GUID     *lpGuid,
  [out] LPVOID   *lplpDD,
  [in]  REFIID   iid,
  [in]  IUnknown *pUnkOuter
);

Параметры

[in] lpGuid

Указатель на глобальный уникальный идентификатор (GUID), представляющий создаваемый драйвер. Это может быть значение NULL, чтобы указать активный драйвер дисплея, или вы можете передать один из следующих флагов, чтобы ограничить поведение активного драйвера дисплея в целях отладки:

DDCREATE_EMULATIONONLY

Объект DirectDraw использует эмуляцию для всех функций; он не использует преимущества каких-либо функций, поддерживаемых оборудованием.

DDCREATE_HARDWAREONLY

Объект DirectDraw никогда не эмулирует функции, не поддерживаемые оборудованием. Попытки вызвать методы, требующие неподдерживаемых функций, завершаются сбоем, возвращая DDERR_UNSUPPORTED.

[out] lplpDD

Указатель на переменную, для установки допустимого указателя интерфейса IDirectDraw7 в случае успешного вызова.

[in] iid

Для этого параметра необходимо задать значение IID_IDirectDraw7. Эта функция завершается сбоем и возвращает DDERR_INVALIDPARAMS, если указан какой-либо другой интерфейс.

[in] pUnkOuter

Обеспечивает совместимость с функциями агрегирования COM в будущем. В настоящее время эта функция возвращает ошибку, если этот параметр не имеет значения NULL.

Возвращаемое значение

Если функция выполнена успешно, возвращаемое значение будет DD_OK.

В случае сбоя функция может вернуть одно из следующих значений ошибки:

  • DDERR_DIRECTDRAWALREADYCREATED
  • DDERR_GENERIC
  • DDERR_INVALIDDIRECTDRAWGUID
  • DDERR_INVALIDPARAMS
  • DDERR_NODIRECTDRAWHW
  • DDERR_OUTOFMEMORY

Комментарии

Эта функция пытается инициализировать объект DirectDraw, а затем задает указатель на объект в случае успешного вызова.

На компьютерах с несколькими мониторами, если для lpGUID задано значение NULL, объект DirectDraw выполняется в режиме эмуляции, когда задан обычный уровень совместной работы. Чтобы использовать аппаратное ускорение на этих компьютерах, укажите GUID устройства.

Для явной связи с Ddraw.dll необходимо использовать LoadLibrary , а затем использовать GetProcAddress для доступа к функции DirectDrawCreateEx .

Требования

   
Целевая платформа Windows
Header ddraw.h
Библиотека Ddraw.lib
DLL Ddraw.dll