функция обратного вызова 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
Количество дескрипторов для потоковой передачи целевых ресурсов, представляющих разницу между предыдущим числом целевых ресурсов выходных данных потока (до вызова среды выполнения Microsoft Direct3D SoSetTargets) и новым количеством целевых ресурсов выходных потоков.
Обратите внимание, что число, ClearTargets, является лишь помощью оптимизации, так как драйвер отображения в пользовательском режиме может вычислить это число.
unnamedParam4
phResource [in]
Массив дескрипторов для целевых ресурсов потока, которые необходимо задать. Обратите внимание, что некоторые значения дескриптора могут быть null.
unnamedParam5
pOffsets [in]
Массив смещения в байтах в целевые ресурсы выходных данных потока в массиве, который phResource указывает.
Возвращаемое значение
Никакой
Замечания
Драйвер может использовать функцию обратного вызова 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 (include D3d10umddi.h) |