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 Verteilervorgä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 Computeshadercodeobjekt.

[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 von einer Klasseninstanz verwiesen wird, die einer Schnittstellenimplementierung zugewiesen ist. Die Anzahl der Elemente im Array wird durch die NumClassInstances Parameter angegeben.

unnamedParam5

pIfaces [in]

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

Rückgabewert

Nichts

Bemerkungen

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

Jede Klasseninstanz für eine Schnittstellenimplementierung weist die folgenden Informationen auf:

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

Der Treiber kann E_OUTOFMEMORY übergeben (wenn der Treiber nicht genügend Arbeitsspeicher hat) oder D3DDDIERR_DEVICEREMOVED (wenn das Gerät entfernt wird) in einem Aufruf der pfnSetErrorCb-Funktion. Die Direct3D-Laufzeit bestimmt, dass alle anderen Fehler kritisch sind. Wenn der Treiber Fehler übergibt, die D3DDDIERR_DEVICEREMOVED enthalten, bestimmt die Direct3D-Laufzeit, dass das Handle ungültig ist; Daher ruft die Laufzeit 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 Pixelshadercode zusammen mit einer Gruppe von Schnittstellen fest, sodass 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
mindestens unterstützte Client- CsSetShaderWithIfaces wird ab dem Windows 7-Betriebssystem unterstützt.
Zielplattform- Desktop
Header- d3d10umddi.h (include D3d10umddi.h)

Siehe auch

D3D11DDIARG_POINTERDATA

D3D11DDI_DEVICEFUNCS

DestroyShader

pfnSetErrorCb