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

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

Синтаксис

HRESULT DirectDrawCreate(
  [in]  GUID         *lpGUID,
  [out] LPDIRECTDRAW *lplpDD,
  [in]  IUnknown     *pUnkOuter
);

Параметры

[in] lpGUID

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

DDCREATE_EMULATIONONLY

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

DDCREATE_HARDWAREONLY

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

[out] lplpDD

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

[in] pUnkOuter

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

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

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

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

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

Комментарии

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

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

Вы должны использовать LoadLibrary для явной связи с Ddraw.dll, а затем использовать GetProcAddress для доступа к функции DirectDrawCreate .

Требования

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