Freigeben über


Verwenden der State-Refresh Rückruffunktionen

Der Anzeigetreiber für den Benutzermodus kann die Direct3D Runtime Version 10 State-Refresh Rückruffunktionen verwenden, um einen zustandslosen Treiber zu erreichen oder Um Befehlspuffer-Präambeldaten zu erstellen.

Die Direct3D-Runtime stellt Zeiger auf ihre Rückruffunktionen für zustandsaktualisierungen in der D3D10DDI_CORELAYER_DEVICECALLBACKS-Struktur bereit, auf die der pUMCallbacks-Member der D3D10DDIARG_CREATEDEVICE-Struktur in einem Aufruf der CreateDevice(D3D10) -Funktion zeigt.

Der Anzeigetreiber für den Benutzermodus kann z. B. die Rückruffunktion pfnStateIaIndexBufCb aufrufen, während sich der Treiber innerhalb eines Aufrufs der IaSetIndexBuffer-Funktion des Treibers befindet. Dieser Aufruf ist durchaus möglich, insbesondere weil der Anzeigetreiber im Benutzermodus möglicherweise die Rückruffunktion pfnStateIaIndexBufCb verwendet, um eine Präambel zu erstellen, und der Aufruf von IaSetIndexBuffer die Größe des Befehlspuffers aufgebraucht und eine Leerung verursacht. In einer solchen Situation übergibt der Aufruf von pfnStateIaIndexBufCb die gleichen "neuen" Bindungsinformationen wie der ursprüngliche Aufruf von IaSetIndexBuffer. Diese Situation führt zu einer optimalen Präambel.