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


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

См. также

D3D10DDI_DEVICEFUNCS

pfnSetErrorCb