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

Предоставляет полный двоичный файл шейдера, доступный после создания шейдера. Полный двоичный файл шейдера позволяет драйверу получать отладочные сведения или другие двоичные сведения шейдера, которые обычно недоступны драйверу.

Синтаксис

PFND3D11_1DDI_ASSIGNDEBUGBINARY Pfnd3d111DdiAssigndebugbinary;

void Pfnd3d111DdiAssigndebugbinary(
       D3D10DDI_HDEVICE unnamedParam1,
       D3D10DDI_HSHADER unnamedParam2,
       UINT uBinarySize,
  [in] const VOID *pBinary
)
{...}

Параметры

unnamedParam1

hDevice [in]

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

unnamedParam2

hShader [in]

Дескриптор личных данных драйвера для объекта шейдера.

uBinarySize

Размер полного двоичного файла шейдера (в байтах).

[in] pBinary

Указатель на полный двоичный файл шейдера.

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

None

Remarks

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

Метод AssignDebugBinary вызывается только в том случае, если выполняются все перечисленные ниже действия.

  • Устройство можно отлаживать.
  • Драйвер отображения пользовательского режима задал D3D11_1DDI_D3D11_OPTIONS_DATA. Назначьте флагDebugBinarySupport значение TRUE.
  • Функция создания шейдера CreateXxxShaderXxx была вызвана, успешно выполнена и вернула дескриптор шейдеру.
Драйвер не должен столкнуться с какой-либо ошибкой, за исключением D3DDDIERR_DEVICEREMOVED. Таким образом, если драйвер передает любую ошибку, за исключением D3DDDIERR_DEVICEREMOVED, в вызове функции pfnSetErrorCb , среда выполнения Microsoft Direct3D определит, что ошибка является критической. Даже если устройство было удалено, драйвер не обязан возвращать D3DDDIERR_DEVICEREMOVED; Однако если удаление устройства помешает работе AssignDebugBinary (что обычно не должно происходить), драйвер может вернуть D3DDDIERR_DEVICEREMOVED.

Требования

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

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

D3D11_1DDI_D3D11_OPTIONS_DATA

pfnSetErrorCb