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


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

Функция DestroyCommandList уничтожает список команд.

Синтаксис

PFND3D11DDI_DESTROYCOMMANDLIST Pfnd3d11ddiDestroycommandlist;

void Pfnd3d11ddiDestroycommandlist(
  D3D10DDI_HDEVICE unnamedParam1,
  D3D11DDI_HCOMMANDLIST unnamedParam2
)
{...}

Параметры

unnamedParam1

hDevice [in]

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

unnamedParam2

hCommandList [in]

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

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

None

Remarks

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

Драйвер необходим для реализации DestroyCommandList, только если драйвер поддерживает возможность D3D11DDICAPS_COMMANDLISTS_BUILD_2, которая может быть возвращена в структуре D3D11DDI_THREADING_CAPS из вызова функции GetCaps(D3D10_2).

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

Драйвер может реализовать функцию DestroyCommandList , содержащую оператор switch для обработки удаления списков команд и упрощенного удаления списков команд. То есть драйвер может реализовать один DestroyCommandList и задать член pfnRecycleDetraitsCommandListструктуры D3D11DDI_DEVICEFUNCS , чтобы он указывал на DestroyCommandList вместе с членом pfnRecycleDetraitsCommandList D3D11DDI_DEVICEFUNCS указывать на DestroyCommandList. Однако для повышения производительности драйвер может реализовать отдельные функции DestroyCommandList и RecycleDeкимяCommandList .

Дополнительные сведения о RecycleDestroyCommandList см. в разделе Оптимизация для небольших Списки команд.

Требования

Требование Значение
Минимальная версия клиента DestroyCommandList поддерживается начиная с операционной системы Windows 7.
Целевая платформа Персональный компьютер
Верхняя часть d3d10umddi.h (включая D3d10umddi.h)

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

CreateCommandList

D3D11DDI_DEVICEFUNCS

D3D11DDI_THREADING_CAPS

GetCaps(D3D10_2)

pfnSetErrorCb