Поделиться через


Функция NtGdiDdCreateD3DBuffer

[Эта функция может изменяться с каждой редакцией операционной системы. Вместо этого используйте Microsoft DirectDraw и Microsoft Direct3DAPIs; эти API изолируют приложения от таких изменений операционной системы и скрывают многие другие трудности, связанные с взаимодействием непосредственно с драйверами дисплея.]

Используется для создания команды на уровне драйвера или буфера вершин указанного описания.

Синтаксис

DWORD APIENTRY NtGdiDdCreateD3DBuffer(
  _In_    HANDLE               hDirectDraw,
  _Inout_ HANDLE               *hSurface,
  _Inout_ DDSURFACEDESC        *puSurfaceDescription,
  _Inout_ DD_SURFACE_GLOBAL    *puSurfaceGlobalData,
  _Inout_ DD_SURFACE_LOCAL     *puSurfaceLocalData,
  _Inout_ DD_SURFACE_MORE      *puSurfaceMoreData,
  _Inout_ DD_CREATESURFACEDATA *puCreateSurfaceData,
  _Inout_ HANDLE               *puhSurface
);

Параметры

hDirectDraw [in]

Обработка DD_DIRECTDRAW_GLOBAL структуры, представляющей драйвер.

hSurface [in, out]

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

puSurfaceDescription [in, out]

Указатель на структуру DDSURFACEDESC , описывающую поверхность или буфер, которые должен создать драйвер.

puSurfaceGlobalData [in, out]

Указатель на структуру DD_SURFACE_GLOBAL , содержащую данные поверхности, которые глобально совместно используются несколькими поверхностями.

puSurfaceLocalData [in, out]

Указатель на список DD_SURFACE_LOCAL структур, описывающих поверхностные объекты, созданные драйвером. Обычно в этом массиве есть только одна запись.

puSurfaceMoreData [in, out]

Указатель на структуру DD_SURFACE_MORE , содержащую дополнительные локальные данные поверхности.

puCreateSurfaceData [in, out]

Указатель на структуру DD_CREATESURFACEDATA , содержащую сведения, необходимые для создания буфера.

puhSurface [in, out]

Используется API DirectDraw и не должен заполняться драйвером.

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

NtGdiDdCreateD3DBuffer возвращает один из следующих кодов обратного вызова.

Код возврата Описание
DDHAL_DRIVER_HANDLED
Драйвер выполнил операцию и вернул допустимый код возврата для этой операции. Если этот код DD_OK, DirectDraw или Direct3D продолжает работу с функцией . В противном случае DirectDraw или Direct3D возвращает код ошибки, предоставленный драйвером, и прерывает функцию.
DDHAL_DRIVER_NOTHANDLED
Драйвер не имеет комментариев к запрошенной операции. Если драйвер должен реализовать определенный обратный вызов, DirectDraw или Direct3D сообщает об ошибке. В противном случае DirectDraw или Direct3D обрабатывает операцию так, как если бы обратный вызов драйвера не был определен при выполнении независимой от устройства реализации DirectDraw или Direct3D.

 

Требования

Требование Значение
Минимальная версия клиента
Windows 2000 Professional [только классические приложения]
Минимальная версия сервера
Windows 2000 Server [только классические приложения]
Заголовок
Ntgdi.h

См. также раздел

Поддержка клиентов нижнего уровня графики