DD_D3DBUFCALLBACKS 構造体 (ddrawint.h)
DD_D3DBUFCALLBACKS構造体は、コマンド バッファーと頂点バッファーのドライバー レベルの割り当てを実装するドライバーによってのみ使用されます。
構文
typedef struct _DD_D3DBUFCALLBACKS {
DWORD dwSize;
DWORD dwFlags;
PDD_CANCREATESURFACE CanCreateD3DBuffer;
PDD_CREATESURFACE CreateD3DBuffer;
PDD_SURFCB_DESTROYSURFACE DestroyD3DBuffer;
PDD_SURFCB_LOCK LockD3DBuffer;
PDD_SURFCB_UNLOCK UnlockD3DBuffer;
} DD_D3DBUFCALLBACKS, *PDD_D3DBUFCALLBACKS;
メンバー
dwSize
このDD_D3DBUFCALLBACKS構造体のサイズをバイト単位で指定します。
dwFlags
予約済み。
CanCreateD3DBuffer
ドライバーの CanCreateD3DBuffer コールバックを 指します。
CreateD3DBuffer
ドライバーの CreateD3DBuffer コールバックを 指します。
DestroyD3DBuffer
ドライバーの DestroyD3DBuffer コールバックを 指します。
LockD3DBuffer
ドライバーの LockD3DBuffer コールバックを 指します。
UnlockD3DBuffer
ドライバーの UnlockD3DBuffer コールバックを 指します。
解説
独自のコマンド バッファーと頂点バッファーを管理するドライバーは、DD_D3DBUFCALLBACKS構造体に入力し、DD_HALINFOの lpD3DBufCallbacks メンバーを指す必要があります。
ドライバーは、DD_D3DBUFCALLBACKS構造体で報告されるコールバック関数もサポートする必要があります。 これらの XxxD3DBuffer コールバックはそれぞれ、同様の名前の DdXxxSurface コールバックに似ています。これらは同じプロトタイプを持ち、同じ入力パラメーターを使用して呼び出されます。 これらの新しいコールバックは、対象のサーフェスにDDSCAPS_EXECUTEBUFFER フラグがサーフェス キャップに設定されている場合にのみ呼び出されます。 バッファー作成フラグは、DDSCAPS_WRITEONLY、DDSCAPS2_VERTEXBUFFER、およびDDSCAPS2_COMMANDBUFFERです。
ドライバーは、次のフラグについて CanCreateD3DBuffer および CreateD3DBuffer に渡されるDD_SURFACE_LOCAL構造体の ddsCaps メンバーを調べて、要求されるバッファーの種類を決定します。
-
DDSCAPS_VERTEXBUFFER
ドライバーが明示的な頂点バッファーを割り当てる必要があることを示します。
-
DDSCAPS_COMMANDBUFFER
ドライバーがコマンド バッファーを割り当てる必要があることを示します。
-
これらの両方のフラグが存在しない
ドライバーが暗黙的な頂点バッファーを割り当てる必要があることを示します。
要件
Header | ddrawint.h (Winddi.h を含む) |