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


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

Функция CreateGeometryShaderWithStreamOutput создает шейдер геометрии с выходными данными потока.

Синтаксис

PFND3D10DDI_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT Pfnd3d10ddiCreategeometryshaderwithstreamoutput;

VOID Pfnd3d10ddiCreategeometryshaderwithstreamoutput(
  D3D10DDI_HDEVICE unnamedParam1,
  const D3D10DDIARG_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT *unnamedParam2,
  D3D10DDI_HSHADER unnamedParam3,
  D3D10DDI_HRTSHADER unnamedParam4,
  const D3D10DDIARG_STAGE_IO_SIGNATURES *unnamedParam5
)
{...}

Параметры

unnamedParam1

hDevice [in]

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

unnamedParam2

pCreateGeometryWithShaderOutput [in]

Указатель на структуру D3D10DDIARG_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT, описывающую параметры, используемые драйвером отображения в пользовательском режиме для создания шейдера геометрии с выходными данными потока.

unnamedParam3

hShader [in]

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

unnamedParam4

hRTShader [in]

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

unnamedParam5

pSignatures [in]

Указатель на D3D10DDIARG_STAGE_IO_SIGNATURES структуру, которая состоит из подписи шейдера.

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

Никакой

Замечания

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

Драйвер может передать E_OUTOFMEMORY (если драйвер не хватает памяти) или D3DDDIERR_DEVICEREMOVED (если устройство было удалено) в вызове функции pfnSetErrorCb. Среда выполнения Direct3D определяет, что любые другие ошибки критически важны. Если драйвер передает какие-либо ошибки, включая D3DDDIERR_DEVICEREMOVED, среда выполнения Direct3D определит, что дескриптор недопустим; Поэтому среда выполнения не вызовет функцию DestroyShader, чтобы уничтожить дескриптор, который указывает параметр hShader.

Требования

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

См. также

CalcPrivateGeometryShaderWithStreamOutput

D3D10DDIARG_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT

D3D10DDIARG_STAGE_IO_SIGNATURES

D3D10DDI_DEVICEFUNCS

DestroyShader

pfnSetErrorCb