функция обратного вызова PFND3D10DDI_SO_SETTARGETS (d3d10umddi.h)
Функция SoSetTargets задает целевые ресурсы вывода потока.
Синтаксис
PFND3D10DDI_SO_SETTARGETS Pfnd3d10ddiSoSettargets;
void Pfnd3d10ddiSoSettargets(
D3D10DDI_HDEVICE unnamedParam1,
[in] UINT NumBuffers,
[in] UINT ClearTargets,
const D3D10DDI_HRESOURCE *unnamedParam4,
const UINT *unnamedParam5
)
{...}
Параметры
unnamedParam1
hDevice [in]
Дескриптор устройства отображения (графический контекст).
[in] NumBuffers
Количество элементов в массиве, указанного phResource .
[in] ClearTargets
Количество дескрипторов для целевых целевых ресурсов потоковой передачи, представляющее разницу между предыдущим числом целевых ресурсов вывода потока (до вызова SoSetTargets средой выполнения Microsoft Direct3D) и новым числом целевых целевых ресурсов потока.
Обратите внимание, что число, указанное вclearTargets , является лишь помощником по оптимизации, так как драйвер отображения пользовательского режима может вычислить это число.
unnamedParam4
phResource [in]
Массив дескрипторов для целевых ресурсов выходных данных потока, которые необходимо задать. Обратите внимание, что некоторые значения дескриптора могут иметь значение NULL.
unnamedParam5
pOffsets [in]
Массив смещения (в байтах) в целевых ресурсах вывода потока в массиве, который указывает phResource .
Возвращаемое значение
None
Remarks
Драйвер может использовать функцию обратного вызова pfnSetErrorCb , чтобы задать код ошибки.
Диапазон целевых целевых ресурсов потокового вывода между числом, которое указывает параметр SOTargets , и максимальным числом ресурсов выходных потоков, которые разрешены, должны содержать все значения NULL или несвязанные значения. Число, указанное параметром ClearTargets , сообщает драйверу о том, сколько точек привязки необходимо очистить для текущей операции. Если предыдущий вызов SoSetTargets передавал значение 2 в SOTargets, а текущий вызов SoSetTargets передает значение 4 в SOTargets, текущий вызов SoSetTargets также передает значение 0 в параметре ClearTargets . Если следующий последовательный вызов SoSetTargets передает значение 1 в SOTargets, последующий вызов также передает значение 3 (4 –1) в ClearTargets.
Драйвер не должен столкнуться с какой-либо ошибкой, за исключением D3DDDIERR_DEVICEREMOVED. Таким образом, если драйвер передает любую ошибку, за исключением D3DDDIERR_DEVICEREMOVED, в вызове функции pfnSetErrorCb , среда выполнения Microsoft Direct3D определит, что ошибка является критической. Даже если устройство было удалено, драйвер не должен возвращать D3DDDIERR_DEVICEREMOVED; Однако, если удаление устройства вмешалось в работу SOTargets (что обычно не должно происходить), драйвер может вернуть D3DDDIERR_DEVICEREMOVED.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в Windows Vista и более поздних версиях операционных систем Windows. |
Целевая платформа | Персональный компьютер |
Верхняя часть | d3d10umddi.h (включая D3d10umddi.h) |