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


Функция DdQueryDirectDrawObject (ddrawgdi.h)

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

Оболочка для функции NtGdiDdQueryDirectDrawObject и запрашивает ранее созданное представление режима ядра для получения возможностей.

GdiEntry2 определяется как псевдоним для этой функции.

Синтаксис

BOOL DdQueryDirectDrawObject(
  LPDDRAWI_DIRECTDRAW_GBL    pDirectDrawGlobal,
  LPDDHALINFO                pHalInfo,
  LPDDHAL_DDCALLBACKS        pDDCallbacks,
  LPDDHAL_DDSURFACECALLBACKS pDDSurfaceCallbacks,
  LPDDHAL_DDPALETTECALLBACKS pDDPaletteCallbacks,
  LPD3DHAL_CALLBACKS         pD3dCallbacks,
  LPD3DHAL_GLOBALDRIVERDATA  pD3dDriverData,
  LPDDHAL_DDEXEBUFCALLBACKS  pD3dBufferCallbacks,
  LPDDSURFACEDESC            pD3dTextureFormats,
  LPDWORD                    pdwFourCC,
  LPVIDMEM                   pvmList
);

Параметры

pDirectDrawGlobal

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

pHalInfo

Указатель на структуру DDHALINFO , которая будет заполнена возможностями устройства. Дополнительные сведения см. в документации по DDK.

pDDCallbacks

Указатель на таблицу указателей обратного вызова. Таблица заполнена указателями на функции в Gdi32.dll, имитирующие драйвер дисплея DirectDraw. Эта таблица обратного вызова идентична структуре DDHAL_DDCALLBACKS, которая сопоставляется со структурой DD_CALLBACKS , описанной в документации по DDK.

pDDSurfaceCallbacks

Указатель на таблицу указателей обратного вызова surface. Таблица заполнена указателями на функции в Gdi32.dll, имитирующие драйвер дисплея DirectDraw. Эта таблица обратных вызовов идентична структуре DDHAL_DDSURFACECALLBACKS, которая сопоставляется со структурой DD_SURFACECALLBACKS , описанной в документации по DDK.

pDDPaletteCallbacks

Указатель на таблицу указателей обратного вызова палитры. Таблица заполнена указателями на функции в Gdi32.dll, имитирующие драйвер дисплея DirectDraw. Эта таблица обратных вызовов идентична структуре DDHAL_DDPALETTECALLBACKS, которая сопоставляется со структурой DD_PALETTECALLBACKS , описанной в документации по DDK.

pD3dCallbacks

Указатель на таблицу указателей обратного вызова Direct3D. Таблица заполнена указателями на функции в Gdi32.dll, имитирующие драйвер дисплея Direct3D. Эта таблица обратных вызовов идентична структуре D3DHAL_CALLBACKS , описанной в документации по DDK.

pD3dDriverData

Указатель на D3DHAL_GLOBALDRIVERDATA данные, как описано в документации по DDK.

pD3dBufferCallbacks

Указатель на таблицу указателей обратного вызова. Таблица заполнена указателями на функции в Gdi32.dll, имитирующие драйвер дисплея Direct3D. Эта таблица обратных вызовов идентична структуре DDHAL_DDEXEBUFCALLBACKS, которая соответствует структуре DD_D3DBUFCALLBACKS , описанной в документации по DDK, за исключением того, что элементы XxxD3DBuffer в DD_D3DBUFCALLBACKS заменяются xxxExecuteBuffer в DDHAL_DDEXEBUFCALLBACKS.

pD3dTextureFormats

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

pdwFourCC

Указатель на список поддерживаемых форматов поверхностей четырехсимвого кода (FOURCC). Может иметь значение NULL.

pvmList

Указатель на список дескрипторов кучи видеопамять. Может иметь значение NULL. Этот параметр не используется, так как управление видеопамяти полностью обрабатывается в режиме ядра.

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

В случае успешного выполнения эта функция возвращает значение TRUE; В противном случае возвращается значение FALSE.

Комментарии

Вызов этой функции предназначен для выполнения в двухэтапном процессе. На первом шаге pdwFourCC, pvmList и pD3dTextureFormats должны иметь значение NULL, а DdQueryDirectDrawObject заполнит DDHALINFO. ddCaps. dwNumFourCCCodes, DDHALINFO. vmiData. dwNumHeaps и D3DHAL_GLOBALDRIVERDATA. dwNumTextureFormats с количеством возвращаемых записей. Во втором вызове вызывающий объект должен выделить массивы указанного размера и передать эти указатели вместо значений NULL в параметрах pdwFourCC, pvmList и pD3dTextureFormats . Затем массивы будут заполнены соответствующими данными.

Приложениям рекомендуется использовать API DirectDraw и Direct3D для создания объектов графических устройств и управления ими. Эти конструкции абстрагируют процесс создания устройства упрощенным и независимым от операционной системы способом.

Требования

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

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

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