ユーザー モード ディスプレイ ドライバーは、 Direct3D ランタイム バージョン 10 State-Refresh コールバック関数 を使用して、ステートレス ドライバーを実現したり、コマンド バッファーのプリアンブル データを構築したりできます。
Direct3D ランタイムは、D3D10DDIARG_CREATEDEVICE構造体の pUMCallbacks メンバーが CreateDevice(D3D10) 関数の呼び出しで指すD3D10DDI_CORELAYER_DEVICECALLBACKS構造体の状態更新コールバック関数へのポインターを提供します。
ユーザー モードのディスプレイ ドライバーは、たとえば、 pfnStateIaIndexBufCb 状態更新コールバック関数を呼び出しますが、ドライバーはドライバーの IaSetIndexBuffer 関数の呼び出し内にあります。 この呼び出しは、特にユーザー モードのディスプレイ ドライバーが pfnStateIaIndexBufCb コールバック関数を使用してプリアンブルを構築する可能性があり、 IaSetIndexBuffer の呼び出しによってコマンド バッファーのサイズが使い果たされ、フラッシュが発生する可能性があるため、非常に可能です。 このような状況では、 pfnStateIaIndexBufCb の呼び出しは、元の呼び出しと同じ "新しい" バインディング情報 を IaSetIndexBuffer に渡します。 この状況により、より最適なプリアンブルが得られます。