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_HALINFOlpD3DBufCallbacks メンバーを指す必要があります。

ドライバーは、DD_D3DBUFCALLBACKS構造体で報告されるコールバック関数もサポートする必要があります。 これらの XxxD3DBuffer コールバックはそれぞれ、同様の名前の DdXxxSurface コールバックに似ています。これらは同じプロトタイプを持ち、同じ入力パラメーターを使用して呼び出されます。 これらの新しいコールバックは、対象のサーフェスにDDSCAPS_EXECUTEBUFFER フラグがサーフェス キャップに設定されている場合にのみ呼び出されます。 バッファー作成フラグは、DDSCAPS_WRITEONLY、DDSCAPS2_VERTEXBUFFER、およびDDSCAPS2_COMMANDBUFFERです。

ドライバーは、次のフラグについて CanCreateD3DBuffer および CreateD3DBuffer に渡されるDD_SURFACE_LOCAL構造体の ddsCaps メンバーを調べて、要求されるバッファーの種類を決定します。

  • DDSCAPS_VERTEXBUFFER

    ドライバーが明示的な頂点バッファーを割り当てる必要があることを示します。

  • DDSCAPS_COMMANDBUFFER

    ドライバーがコマンド バッファーを割り当てる必要があることを示します。

  • これらの両方のフラグが存在しない

    ドライバーが暗黙的な頂点バッファーを割り当てる必要があることを示します。

暗黙的な頂点バッファーは、読み取り/書き込みが想定されているため、ビデオ メモリに配置しないでください。 DDSCAPS_WRITEONLY フラグが設定された明示的な頂点バッファーのみをビデオ メモリに安全に配置できます。

要件

   
Header ddrawint.h (Winddi.h を含む)

関連項目

CanCreateD3DBuffer

CreateD3DBuffer

DD_HALINFO

DD_SURFACE_LOCAL

DestroyD3DBuffer

LockD3DBuffer

UnlockD3DBuffer