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


структура DD_GETDRIVERINFODATA (ddrawint.h)

Структура DD_GETDRIVERINFODATA используется для передачи данных в процедуру обратного вызова DdGetDriverInfo и из нее.

Синтаксис

typedef struct _DD_GETDRIVERINFODATA {
  VOID    *dhpdev;
  DWORD   dwSize;
  DWORD   dwFlags;
  GUID    guidInfo;
  DWORD   dwExpectedSize;
  PVOID   lpvData;
  DWORD   dwActualSize;
  HRESULT ddRVal;
} *PDD_GETDRIVERINFODATA, DD_GETDRIVERINFODATA;

Члены

dhpdev

Дескриптор PDEV драйвера. Только Microsoft Windows 2000 и более поздних версий.

dwSize

Задает размер структуры DD_GETDRIVERINFODATA в байтах.

dwFlags

В настоящее время не используется и имеет значение 0.

guidInfo

Указывает GUID поддержки Microsoft DirectX, для которой запрашивается драйвер. В драйвере Microsoft DirectDraw для Windows 2000 и более поздних версий этот элемент может иметь одно из следующих значений (в алфавитном порядке):

Идентификатор GUID Описание
GUID_ColorControlCallbacks Запрашивает, поддерживает ли драйвер DdControlColor. Если драйвер поддерживает его, драйвер должен инициализировать и вернуть структуру DD_COLORCONTROLCALLBACKS в буфере, на который указывает lpvData .
GUID_D3DCallbacks Запрашивает, поддерживает ли драйвер какие-либо функциональные возможности, указанные в структуре D3DHAL_CALLBACKS . Если драйвер не предоставляет эту поддержку, он должен инициализировать и вернуть структуру D3DHAL_CALLBACKS в буфере, на который указывает lpvData .
GUID_D3DCallbacks2 Является устаревшей.
GUID_D3DCallbacks3 Запрашивает, поддерживает ли драйвер какие-либо функциональные возможности, указанные в структуре D3DHAL_CALLBACKS3 . Если драйвер предоставляет какую-либо из этой поддержки, он должен инициализировать и вернуть структуру D3DHAL_CALLBACKS3 в буфере, на который указывает lpvData .
GUID_D3DCaps Является устаревшей.
GUID_D3DExtendedCaps Запрашивает, поддерживает ли драйвер какие-либо функции Microsoft Direct3D, указанные в структуре D3DHAL_D3DEXTENDEDCAPS . Если драйвер предоставляет какую-либо из этих поддержк, он должен инициализировать и вернуть структуру D3DHAL_D3DEXTENDEDCAPS в буфере, на который указывает lpvData .
GUID_D3DParseUnknownCommandCallback Предоставляет часть драйвера Direct3D с D3dParseUnknownCommandCallback среды выполнения Direct3D. Обратный вызов D3dDrawPrimitives2 драйвера вызывает D3dParseUnknownCommandCallback для анализа команд из буфера команд, которые драйвер не понимает. DirectDraw передает указатель на эту функцию в буфере, на который указывает lpvData . Если драйвер поддерживает этот аспект Direct3D, он должен хранить указатель.
GUID_GetHeapAlignment Запрашивает, поддерживает ли драйвер требования к выравниванию поверхности для каждой кучи. Если драйвер обеспечивает такую поддержку, он должен инициализировать и вернуть структуру DD_GETHEAPALIGNMENTDATA в буфере, на который указывает lpvData .
GUID_KernelCallbacks Запрашивает, поддерживает ли драйвер какие-либо функциональные возможности, указанные в структуре DD_KERNELCALLBACKS . Если драйвер предоставляет какую-либо из этих средств поддержки, он должен инициализировать и вернуть DD_KERNELCALLBACKS структуру в буфере, на который указывает lpvData .
GUID_KernelCaps Запрашивает, поддерживает ли драйвер какие-либо возможности режима ядра, указанные в структуре DDKERNELCAPS . Если драйвер предоставляет какую-либо из этих поддержк, он должен инициализировать и вернуть структуру DDKERNELCAPS в буфере, на который указывает lpvData .
GUID_MiscellaneousCallbacks Запрашивает, поддерживает ли драйвер DdGetAvailDriverMemory. Если драйвер поддерживает его, драйвер должен инициализировать и вернуть структуру DD_MISCELLANEOUSCALLBACKS в буфере, на которую указывает lpvData .
GUID_Miscellaneous2Callbacks Запрашивает, поддерживает ли драйвер дополнительные различные функции, указанные в структуре DD_MISCELLANEOUS2CALLBACKS . Если драйвер поддерживает любую из этих поддержк, драйвер должен инициализировать и вернуть структуру DD_MISCELLANEOUS2CALLBACKS в буфере, на которую указывает lpvData .
GUID_MotionCompCallbacks Запрашивает, поддерживает ли драйвер функциональность компенсации движения, указанную в структуре DD_MOTIONCOMPCALLBACKS . Если драйвер предоставляет какую-либо из этой поддержки, метод должен инициализировать и вернуть DD_MOTIONCOMPCALLBACKS структуру в буфере, на который указывает lpvData .
GUID_NonLocalVidMemCaps Запрашивает, поддерживает ли драйвер какие-либо возможности нелокальной памяти дисплея, указанные в структуре DD_NONLOCALVIDMEMCAPS . Если драйвер предоставляет какую-либо из этих поддержк, он должен инициализировать и вернуть структуру DD_NONLOCALVIDMEMCAPS в буфере, на который указывает lpvData .
GUID_NTCallbacks Запрашивает, поддерживает ли драйвер какие-либо функциональные возможности, указанные в структуре DD_NTCALLBACKS . Если драйвер предоставляет какую-либо из этих поддержк, он должен инициализировать и вернуть структуру DD_NTCALLBACKS в буфере, на который указывает lpvData .
GUID_NTPrivateDriverCaps Запрашивает, поддерживает ли драйвер методы создания поверхностей в стиле Windows 98 или Me, указанные в структуре DD_NTPRIVATEDRIVERCAPS . Если драйвер предоставляет какую-либо из этих средств поддержки, он должен инициализировать и вернуть структуру DD_NTPRIVATEDRIVERCAPS в буфере, на который указывает lpvData .
GUID_UpdateNonLocalHeap По очереди запрашивает, поддерживает ли драйвер получение базовых адресов каждой нелокальной кучи. Если драйвер предоставляет такую поддержку, он должен инициализировать и вернуть структуру DD_UPDATENONLOCALHEAPDATA в буфере, на которую указывает lpvData .
GUID_VideoPortCallbacks Запрашивает, поддерживает ли драйвер расширения видеопорта (VPE). Если драйвер поддерживает VPE, он должен инициализировать и вернуть структуру DD_VIDEOPORTCALLBACKS в буфере, на которую указывает lpvData .
GUID_VideoPortCaps Запрашивает, поддерживает ли драйвер какие-либо возможности объектов VPE, указанные в структуре DDVIDEOPORTCAPS . Если драйвер предоставляет какую-либо из этих поддержк, он должен инициализировать и вернуть структуру DDVIDEOPORTCAPS в буфере, на который указывает lpvData .
GUID_ZPixelFormats Запрашивает форматы пикселей, поддерживаемые буфером глубины. Если драйвер поддерживает Direct3D, он должен выделить и инициализировать соответствующие элементы структуры DDPIXELFORMAT для каждого формата z-буфера, который он поддерживает, и возвратить их в буфере, в который указывает lpvData .

dwExpectedSize

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

lpvData

Указывает на буфер, выделенный DirectDraw, в который драйвер копирует запрошенные данные. Этот буфер обычно имеет размер dwExpectedSize в байтах. Драйвер не должен записывать в него более байтов данных dwExpectedSize . Драйвер указывает количество байтов, записываемых в этот буфер в элементе dwActualSize .

dwActualSize

Указывает расположение, в котором драйвер возвращает количество байтов данных, записываемых в lpvData.

ddRVal

Указывает расположение, в которое драйвер записывает возвращаемое значение обратного вызова DdGetDriverInfo . Код возврата DD_OK указывает на успешное выполнение. Дополнительные сведения см. в разделе Возвращаемые значения для DirectDraw.

Комментарии

Структура данных, передаваемая драйверу для вызова DdGetDriverInfo , имеет незначительные различия между Windows 98/Me и Windows 2000 и более поздних версий. В Windows 2000 и более поздних версиях структура данных называется DD_GETDRIVERINFODATA, а в Windows 98/Me структура данных называется DDHAL_GETDRIVERINFODATA. Обе структуры данных содержат поле для сведений о контексте драйвера. В Windows 2000 и более поздних версиях DD_GETDRIVERINFODATA включает поле dhpdev , в котором хранится DHPDEV вызываемого драйвера. Только в Windows 98/Me DDHAL_GETDRIVERINFODATA включает поле dwContext , которое копируется для зарезервированного драйвера поля dwReserved3 глобального объекта DirectDraw.

Требования

Требование Значение
Заголовок ddrawint.h (включая Winddi.h)

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

DdGetDriverInfo