Freigeben über


PFND3D11DDI_SETSHADER_WITH_IFACES Rückruffunktion (d3d10umddi.h)

Die CsSetShaderWithIfaces-Funktion legt den Compute-Shadercode zusammen mit einer Gruppe von Schnittstellen fest, sodass alle nachfolgenden Verteilvorgänge diesen Code und diese Schnittstellen verwenden.

Syntax

PFND3D11DDI_SETSHADER_WITH_IFACES Pfnd3d11ddiSetshaderWithIfaces;

void Pfnd3d11ddiSetshaderWithIfaces(
       D3D10DDI_HDEVICE unnamedParam1,
       D3D10DDI_HSHADER unnamedParam2,
  [in] UINT NumClassInstances,
       const UINT *unnamedParam4,
       const D3D11DDIARG_POINTERDATA *unnamedParam5
)
{...}

Parameter

unnamedParam1

hDevice [in]

Ein Handle für das Anzeigegerät (Grafikkontext).

unnamedParam2

hShader [in]

Ein Handle für das Compute-Shadercodeobjekt.

[in] NumClassInstances

Die Anzahl der Klasseninstanzen für Implementierungen der Schnittstellen.

unnamedParam4

pPointerData [in]

Ein Array von D3D11DDIARG_POINTERDATA Strukturen. Jede Struktur beschreibt den Speicherort der Daten, auf die eine Klasse instance verweist, die einer Schnittstellenimplementierung zugewiesen ist. Die Anzahl der Elemente im Array wird durch den Parameter NumClassInstances angegeben.

unnamedParam5

pIfaces [in]

Ein Array von Funktionstabellenbezeichnern. Jeder Bezeichner entspricht einer Klasse instance, die einer Schnittstellenimplementierung zugewiesen ist. Die Anzahl der Elemente im Array wird durch den Parameter NumClassInstances angegeben.

Rückgabewert

Keine

Bemerkungen

Der Treiber kann die Rückruffunktion pfnSetErrorCb verwenden, um einen Fehlercode festzulegen.

Jede Klasse instance für eine Schnittstellenimplementierung enthält die folgenden Informationen:

  • Code, der dieser Klasse instance zugeordnet ist
  • Ein Speicherort für die Daten, die von dieser Klasse verwendet werden, instance
Der NumClassInstances-Parameter gibt die Anzahl der Schnittstellen an, denen zur Laufzeit Werte zugewiesen werden müssen. Für jede Schnittstelle stellt jedes Element des pIfaces-Arrays einen Funktionstabellenbezeichner bereit, und jedes Element des pPointerData-Arrays stellt die Datenspeicherorte für eine Klasse instance bereit, die der Schnittstelle zugewiesen ist.

Der Treiber kann in einem Aufruf der pfnSetErrorCb-Funktion E_OUTOFMEMORY (wenn dem Treiber der Arbeitsspeicher fehlt) oder D3DDDIERR_DEVICEREMOVED (wenn das Gerät entfernt wird) übergeben. Die Direct3D-Runtime bestimmt, dass alle anderen Fehler kritisch sind. Wenn der Treiber Fehler übergibt, einschließlich D3DDDIERR_DEVICEREMOVED, stellt die Direct3D-Runtime fest, dass das Handle ungültig ist. Daher ruft die Runtime die DestroyShader-Funktion nicht auf, um das Handle zu zerstören, das der hShader-Parameter angibt.

Die GsSetShaderWithIfaces-Funktion legt den Geometrie-Shadercode zusammen mit einer Gruppe von Schnittstellen fest, sodass alle nachfolgenden Zeichnungsvorgänge diesen Code und diese Schnittstellen verwenden.

Die PsSetShaderWithIfaces-Funktion legt den Pixel-Shadercode zusammen mit einer Gruppe von Schnittstellen so fest, dass alle nachfolgenden Zeichnungsvorgänge diesen Code und diese Schnittstellen verwenden.

Die DsSetShaderWithIfaces-Funktion legt den Domänen-Shadercode zusammen mit einer Gruppe von Schnittstellen fest, sodass alle nachfolgenden Zeichnungsvorgänge diesen Code und diese Schnittstellen verwenden.

Die HsSetShaderWithIfaces-Funktion legt den Hull-Shadercode zusammen mit einer Gruppe von Schnittstellen fest, sodass alle nachfolgenden Zeichnungsvorgänge diesen Code und diese Schnittstellen verwenden.

Die VsSetShaderWithIfaces-Funktion legt den Vertex-Shadercode zusammen mit einer Gruppe von Schnittstellen fest, sodass alle nachfolgenden Zeichnungsvorgänge diesen Code und diese Schnittstellen verwenden.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) CsSetShaderWithIfaces wird ab dem Windows 7-Betriebssystem unterstützt.
Zielplattform Desktop
Kopfzeile d3d10umddi.h (einschließlich D3d10umddi.h)

Weitere Informationen

D3D11DDIARG_POINTERDATA

D3D11DDI_DEVICEFUNCS

DestroyShader

pfnSetErrorCb