Expand Minimize

VsSetShaderWithIfaces routine

The VsSetShaderWithIfaces function sets the vertex shader code along with a group of interfaces so that all of the subsequent drawing operations use that code and those interfaces.

Syntax


PFND3D11DDI_SETSHADER_WITH_IFACES VsSetShaderWithIfaces;

VOID APIENTRY VsSetShaderWithIfaces(
  _In_  D3D10DDI_HDEVICE hDevice,
  _In_  D3D10DDI_HSHADER hShader,
  _In_  UINT NumClassInstances,
  _In_  const UINT *pIfaces,
  _In_  const D3D11DDIARG_POINTERDATA *pPointerData
)
{ ... }

Parameters

hDevice [in]

A handle to the display device (graphics context).

hShader [in]

A handle to the vertex shader code object.

NumClassInstances [in]

The number of class instances for implementations of the interfaces.

pIfaces [in]

An array of function table identifiers. Each identifier corresponds to a class instance that is assigned to an interface implementation. The number of elements in the array is specified by the NumClassInstances parameter.

pPointerData [in]

An array of D3D11DDIARG_POINTERDATA structures. Each structure describes the location of the data that is referenced by a class instance that is assigned to an interface implementation. The number of elements in the array is specified by the NumClassInstances parameter.

Return value

None

The driver can use the pfnSetErrorCb callback function to set an error code. For more information about setting error codes, see the following Remarks section.

Remarks

Each class instance for an interface implementation has the following pieces of information:

  • Code that is associated with that class instance

  • A location for the data that is used by that class instance

The NumClassInstances parameter specifies the number of interfaces that must be assigned values at run time. For each interface, each element of the pIfaces array provides a function table identifier, and each element of the pPointerData array provides the data locations for a class instance that is assigned to the interface.

The driver can pass E_OUTOFMEMORY (if the driver runs out of memory) or D3DDDIERR_DEVICEREMOVED (if the device is removed) in a call to the pfnSetErrorCb function. The Direct3D runtime determines that any other errors are critical. If the driver passes any errors, which includes D3DDDIERR_DEVICEREMOVED, the Direct3D runtime determines that the handle is invalid; therefore, the runtime does not call the DestroyShader function to destroy the handle that the hShader parameter specifies.

Requirements

Version

VsSetShaderWithIfaces is supported beginning with the Windows 7 operating system.

Header

D3d10umddi.h (include D3d10umddi.h)

See also

D3D11DDI_DEVICEFUNCS
D3D11DDIARG_POINTERDATA
DestroyShader
pfnSetErrorCb

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft