PFND3D10DDI_SETRENDERTARGETS Rückruffunktion (d3d10umddi.h)
Die SetRenderTargets Rückruffunktion legt Renderzieloberflächen fest.
Syntax
PFND3D10DDI_SETRENDERTARGETS Pfnd3d10ddiSetrendertargets;
void Pfnd3d10ddiSetrendertargets(
[in] D3D10DDI_HDEVICE unnamedParam1,
[in] const D3D10DDI_HRENDERTARGETVIEW *unnamedParam2,
[in] UINT NumViews,
[in] UINT ClearSlots,
[in] D3D10DDI_HDEPTHSTENCILVIEW unnamedParam5
)
{...}
Parameter
[in] unnamedParam1
hDevice: Ein Handle für das Anzeigegerät (Grafikkontext).
[in] unnamedParam2
phRenderTargetView: Ein Array von Handles für die festzulegenden Renderzielansichtsobjekte. Beachten Sie, dass einige Handlewerte NULL-sein können.
[in] NumViews
: Die Anzahl der Elemente im Array, die phRenderTargetView- angibt.
[in] ClearSlots
Die Anzahl der Renderzielplätze nach der Anzahl der Slots, die NumViews angibt, dass sie auf NULL-festgelegt werden soll. Diese Zahl stellt die Differenz zwischen der vorherigen Anzahl von Renderzielansichtsobjekten dar (d. h., wenn die Microsoft Direct3D-Laufzeit zuvor SetRenderTargets) und die neue Anzahl von Renderzielansichtsobjekten aufgerufen wurde.
Beachten Sie, dass die Zahl, die ClearTargets- angibt, nur eine Optimierungshilfe ist, da der Anzeigetreiber für den Benutzermodus diese Zahl berechnen kann.
[in] unnamedParam5
hDepthStencilView: Handle to the depth stencil view.
Rückgabewert
Nichts
Bemerkungen
Der Treiber kann die pfnSetErrorCb Rückruffunktion verwenden, um einen Fehlercode festzulegen.
Der Anzeigetreiber für den Benutzermodus muss alle Renderzieloberflächen und den Tiefenschablonenpuffer atomisch als einen Vorgang festlegen.
Obwohl der NumViews Parameter die Anzahl der Handles im Array angibt, die der phRenderTargetView Parameter angibt, können einige Handlewerte im Array NULL-sein.
Der Bereich der Renderzieloberflächen zwischen der Zahl, die NumViews- angibt, und die maximale Anzahl der zulässigen Renderzieloberflächen ist erforderlich, um alle NULL- oder ungebundenen Werte zu enthalten. Die Zahl, die der ClearTargets Parameter angibt, informiert den Treiber darüber, wie viele Bindungspunkte der Treiber für den aktuellen Atomvorgang löschen muss.
Wenn der vorherige Aufruf von SetRenderTargets einen Wert von 2 im parameter NumViews und den aktuellen Aufruf von SetRenderTargets übergeben wert von 4 in NumViews, der aktuelle Aufruf von SetRenderTargets übergibt auch den Wert 0 im ClearTargets Parameter. Wenn der nächste aufeinander folgende Aufruf von SetRenderTargets einen Wert von 1 in NumViewsübergibt, übergibt der nachfolgende Aufruf auch den Wert 3 (4 - 1) in ClearTargets.
Wenn der Wert für klare Ziele während abfragevorgängen im Benutzermodus angefordert wird, ist der Wert der Unterschied zwischen der maximalen Anzahl von Renderzieloberflächen und dem Wert für Renderziele.
Der Treiber sollte keinen Fehler haben, mit Ausnahme von D3DDDIERR_DEVICEREMOVED. Wenn der Treiber daher einen Fehler außer D3DDDIERR_DEVICEREMOVED übergibt, bestimmt die Microsoft Direct3D-Laufzeit in einem Aufruf der pfnSetErrorCb-Funktion, dass der Fehler kritisch ist. Selbst wenn das Gerät entfernt wurde, ist der Treiber nicht erforderlich, um D3DDDIERR_DEVICEREMOVED zurückzugeben; Wenn die Geräteentfernung jedoch den Vorgang von SetRenderTargets beeinträchtigt (was normalerweise nicht geschehen sollte), kann der Treiber D3DDDIERR_DEVICEREMOVED zurückgeben.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Verfügbar in Windows Vista und höheren Versionen der Windows-Betriebssysteme. |
Zielplattform- | Desktop |
Header- | d3d10umddi.h (include D3d10umddi.h) |