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


функция обратного вызова 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 (include D3dumddi.h)

См. также

D3DDDIARG_CREATEQUERY

D3DDDIDEVINFO_VCACHE

D3DDDI_DEVICEFUNCS

D3DDDI_ISSUEQUERYFLAGS