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


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

См. также раздел

D3D10DDI_DEVICEFUNCS

pfnSetErrorCb