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


функция обратного вызова PFND3D11DDI_DESTROYUNORDEREDACCESSVIEW (d3d10umddi.h)

Уничтожает неупорядоченное представление доступа.

Синтаксис

PFND3D11DDI_DESTROYUNORDEREDACCESSVIEW Pfnd3d11ddiDestroyunorderedaccessview;

VOID Pfnd3d11ddiDestroyunorderedaccessview(
  D3D10DDI_HDEVICE unnamedParam1,
  D3D11DDI_HUNORDEREDACCESSVIEW unnamedParam2
)
{...}

Параметры

unnamedParam1

hDevice [in]

Дескриптор устройства отображения (графический контекст).

unnamedParam2

hUnorderedAccessView [in]

Дескриптор частных данных драйвера для неупорядоченного представления доступа для уничтожения. Среда выполнения Microsoft Direct3D освобождает область памяти, выделенную ранее для неупорядоченного представления доступа. Таким образом, драйвер больше не может получить доступ к этому региону памяти.

Возвращаемое значение

Никакой

Замечания

Драйвер может использовать функцию обратного вызова pfnSetErrorCb для задания кода ошибки.

Драйвер не должен столкнуться с ошибкой, за исключением D3DDDIERR_DEVICEREMOVED. Таким образом, если драйвер передает любую ошибку, за исключением D3DDDIERR_DEVICEREMOVED, при вызове функции pfnSetErrorCb среда выполнения Direct3D определяет, что ошибка является критической. Даже если устройство удалено, драйвер не требуется возвращать D3DDDIERR_DEVICEREMOVED; Однако если удаление устройства вмешивается в работу DestroyUnorderedAccessView (что обычно не должно произойти), драйвер может вернуть D3DDDIERR_DEVICEREMOVED.

Примечание Во время уничтожения немедленного контекста и устройства или уничтожения отложенного контекста Windows 7 не очищает точки привязки шейдера вычислений (CS UAV). В результате драйвер видит дескриптор UAV, который по-прежнему привязан к контексту, что нарушает общие гарантии, предоставляемые средой выполнения. Драйвер может обойти эту проблему, выполнив следующие действия.

  • Используйте метод AbandonCommandList или метод CreateCommandList, так как каждая из них помечает конец списка команд.
  • Распакуйте привязку точек привязки CS UAV, убедившись, что для любого из следующих состояний задано значение NULL: состояние смешивания, состояние растеризатора и состояние глубины или набора элементов.
 

Требования

Требование Ценность
минимальные поддерживаемые клиентские DestroyUnorderedAccessView поддерживается начиная с операционной системы Windows 7.
целевая платформа Настольный
заголовка d3d10umddi.h (include D3d10umddi.h)

См. также

AbandonCommandList

CreateCommandList

CreateUnorderedAccessView

D3D11DDI_DEVICEFUNCS

pfnSetErrorCb