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