Функция обратного вызова PFND3D10DDI_SETPREDICATION (d3d10umddi. h)
Функция сетпредикатион указывает, выполняются ли приведенные ниже команды визуализации и обработки ресурсов.
Синтаксис
PFND3D10DDI_SETPREDICATION Pfnd3d10ddiSetpredication;
void Pfnd3d10ddiSetpredication(
D3D10DDI_HDEVICE unnamedParam1,
D3D10DDI_HQUERY unnamedParam2,
BOOL unnamedParam3
)
{...}
Параметры
unnamedParam1
хдевице [in]
Маркер устройства вывода (графический контекст).
unnamedParam2
хкуери [in]
Маркер объекта запроса, который необходимо задать в качестве предиката. Установка хкуери в значение NULL означает, что "No затенения". Если для хкуери задано значение null, драйвер игнорирует значение параметра предикатевалуе . Однако драйвер должен хранить значение предиката для последующих запросов значения.
unnamedParam3
Предикатевалуе [in]
Логическое значение для сравнения с данными запроса. Если данные запроса равны значению предиката, то следующие команды отрисовки и управления ресурсами не выполняются.
Возвращаемое значение
None
Remarks
Драйвер может использовать функцию обратного вызова пфнсетерроркб для установки кода ошибки.
Некоторые предикаты являются указаниями; Поэтому они могут не препятствовать выполнению операций. Среда выполнения Microsoft Direct3D в основном вызывает сетпредикатион , чтобы позволить приложениям выполнять команды графики без снижения производительности и ожидания вызова функции куерижетдата . Таким образом, затенения может возникать, даже если куерижетдата возвращает S_FALSE. Иными словами, приложение также может использовать затенения в качестве резервной, если куерижетдата , возможно, возвращает S_FALSE. Если куерижетдата возвращает S_OK, приложение может пропускать вызов графических команд вручную с собственной логикой приложения.
Драйвер не должен столкнуться ни с одной ошибкой, за исключением D3DDDIERR_DEVICEREMOVED. Таким образом, если драйвер передает любую ошибку, за исключением D3DDDIERR_DEVICEREMOVED, в вызове функции пфнсетерроркб среда выполнения Direct3D определит, что ошибка является критической. Даже если устройство было удалено, драйвер не должен возвращать D3DDDIERR_DEVICEREMOVED; Однако если удаление устройства мешает работе сетпредикатион (что обычно не должно происходить), драйвер может вернуть D3DDDIERR_DEVICEREMOVED.
Требования
Минимальная версия клиента | доступно в Windows Vista и более поздних версиях операционных систем Windows. |
Целевая платформа | Рабочий стол |
Header | d3d10umddi. h (включение D3d10umddi. h) |
См. также раздел
Обратная связь
Отправить и просмотреть отзыв по