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


функция обратного вызова PFND3DDDI_CREATEQUERY (d3dumddi.h)

Функция CreateQuery создает ресурсы на стороне драйвера для запроса, который среда выполнения Microsoft Direct3D впоследствии выдает для обработки.

Синтаксис

PFND3DDDI_CREATEQUERY Pfnd3dddiCreatequery;

HRESULT Pfnd3dddiCreatequery(
  HANDLE hDevice,
  D3DDDIARG_CREATEQUERY *unnamedParam2
)
{...}

Параметры

hDevice

Дескриптор устройства отображения (графический контекст).

unnamedParam2

pData [in, out]

Указатель на структуру D3DDDIARG_CREATEQUERY , которая идентифицирует запрос.

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

CreateQuery возвращает одно из следующих значений:

Код возврата Описание
S_OK Запрос успешно создан.
E_OUTOFMEMORY CreateQuery не удалось выделить необходимую память для ее завершения.

Комментарии

Среда выполнения Direct3D вызывает функцию CreateQuery драйвера отображения пользовательского режима с типом запроса, чтобы создать ресурсы для запроса. Драйвер отображения пользовательского режима создает следующие ресурсы для типов запросов:

  • BOOL для D3DDDIQUERYTYPE_EVENT. Прежде чем отвечать на событие, драйвер должен убедиться, что графический процессор (GPU) завершил обработку всех операций, связанных с событием. То есть драйвер реагирует на событие после возникновения конечного состояния проблемы. При ответе драйвер должен всегда задавать значение BOOL события в значение TRUE .
  • UINT для D3DDDIQUERYTYPE_OCCLUSION. Драйвер задает для этой переменной UINT число пикселей, для которого z-тест прошел для всех примитивов между начальным и конечным состояниями запроса проблемы. Если буфер глубины имеет несколько дискретных значений, драйвер определяет количество пикселей из числа выборок. Однако если устройство отображения поддерживает точность z-теста для каждой множественной выборки, преобразование в число пикселей, как правило, следует округлить вверх. Затем приложение может проверка результат окклюзии против 0, чтобы фактически означать "полностью occluded". Драйверы, преобразующие количества с несколькими дискретными данными в пиксели, должны обнаруживать целевые изменения множественной выборки и продолжать вычислять результаты запроса соответствующим образом.
  • Структура D3DDDIDEVINFO_VCACHE для D3DDDIQUERYTYPE_VCACHE. Драйвер отвечает после возникновения конечного состояния проблемы.
Дополнительные сведения о состояниях запроса проблемы см. в разделе D3DDDI_ISSUEQUERYFLAGS.

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows Vista и более поздних версиях операционных систем Windows.
Целевая платформа Персональный компьютер
Верхняя часть d3dumddi.h (включая D3dumddi.h)

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

D3DDDIARG_CREATEQUERY

D3DDDIDEVINFO_VCACHE

D3DDDI_DEVICEFUNCS

D3DDDI_ISSUEQUERYFLAGS