D3DHAL_CALLBACKS構造体 (d3dhal.h)

D3DHAL_CALLBACKSは、ドライバーによって提供される Direct3D サポートを記述するいくつかのコールバック構造の 1 つです。

構文

typedef struct _D3DHAL_CALLBACKS {
  DWORD                        dwSize;
  LPD3DHAL_CONTEXTCREATECB     ContextCreate;
  LPD3DHAL_CONTEXTDESTROYCB    ContextDestroy;
  LPD3DHAL_CONTEXTDESTROYALLCB ContextDestroyAll;
  LPD3DHAL_SCENECAPTURECB      SceneCapture;
  LPVOID                       lpReserved10;
  LPVOID                       lpReserved11;
  LPD3DHAL_RENDERSTATECB       RenderState;
  LPD3DHAL_RENDERPRIMITIVECB   RenderPrimitive;
  DWORD                        dwReserved;
  LPD3DHAL_TEXTURECREATECB     TextureCreate;
  LPD3DHAL_TEXTUREDESTROYCB    TextureDestroy;
  LPD3DHAL_TEXTURESWAPCB       TextureSwap;
  LPD3DHAL_TEXTUREGETSURFCB    TextureGetSurf;
  LPVOID                       lpReserved12;
  LPVOID                       lpReserved13;
  LPVOID                       lpReserved14;
  LPVOID                       lpReserved15;
  LPVOID                       lpReserved16;
  LPVOID                       lpReserved17;
  LPVOID                       lpReserved18;
  LPVOID                       lpReserved19;
  LPVOID                       lpReserved20;
  LPVOID                       lpReserved21;
  LPD3DHAL_GETSTATECB          GetState;
  DWORD                        dwReserved0;
  DWORD                        dwReserved1;
  DWORD                        dwReserved2;
  DWORD                        dwReserved3;
  DWORD                        dwReserved4;
  DWORD                        dwReserved5;
  DWORD                        dwReserved6;
  DWORD                        dwReserved7;
  DWORD                        dwReserved8;
  DWORD                        dwReserved9;
} D3DHAL_CALLBACKS, *LPD3DHAL_CALLBACKS;

メンバー

dwSize

このD3DHAL_CALLBACKS構造体のサイズをバイト単位で指定します。

ContextCreate

ドライバーが指定した D3dContextCreate コールバックを 指します。 ドライバーは、このメンバーが指すコールバックを実装する必要があります。

ContextDestroy

ドライバーが指定した D3dContextDestroy コールバックを 指します。 ドライバーは、このメンバーが指すコールバックを実装する必要があります。

ContextDestroyAll

Windows 2000 以降のドライバーでは NULL に設定する必要があります。

SceneCapture

Windows 2000 以降のドライバーでは NULL に設定する必要があります。 DirectX 6.0 の場合、これはドライバーが提供する D3dSceneCapture コールバックへのポインターでした。 DirectX 7.0 以降では、このコールバックは D3dDrawPrimitives2 関数のD3DRENDERSTATE_SCENECAPTUREレンダリング状態の処理に置き換えられました。

lpReserved10

ゼロを指定してください。

lpReserved11

ゼロを指定してください。

RenderState

ドライバー指定のD3DHAL_RENDERSTATEDATAコールバックを指します。 ドライバーは、このメンバーが指すコールバックを実装する必要があります。

RenderPrimitive

ドライバーが指定したD3DHAL_RENDERPRIMITIVEDATAコールバックを指します。 ドライバーは、このメンバーが指すコールバックを実装する必要があります。

dwReserved

予約フィールドを指定し、0 に設定する必要があります。

TextureCreate

Windows 2000 以降のドライバーでは NULL に設定する必要があります。 DirectX 6.0 の場合、これはドライバーが提供する D3dTextureCreate コールバック ( NULL) へのポインターでした。

TextureDestroy

Windows 2000 以降のドライバーでは NULL に設定する必要があります。 DirectX 6.0 の場合、これはドライバーが提供する D3dTextureDestroy コールバック ( NULL) へのポインターでした。

TextureSwap

Windows 2000 以降のドライバーでは NULL に設定する必要があります。 DirectX 6.0 の場合、これはドライバーが提供する D3dTextureSwap コールバック ( NULL) へのポインターでした。

TextureGetSurf

Windows 2000 以降のドライバーでは NULL に設定する必要があります。 DirectX 6.0 の場合、これはドライバーが提供する D3dTextureGetSurf コールバック ( NULL) へのポインターでした。

lpReserved12

ゼロを指定してください。

lpReserved13

ゼロを指定してください。

lpReserved14

ゼロを指定してください。

lpReserved15

ゼロを指定してください。

lpReserved16

ゼロを指定してください。

lpReserved17

ゼロを指定してください。

lpReserved18

ゼロを指定してください。

lpReserved19

ゼロを指定してください。

lpReserved20

ゼロを指定してください。

lpReserved21

ゼロを指定してください。

GetState

ドライバーが指定したD3DHAL_GETSTATEDATAコールバックを指します。 ドライバーは、このメンバーが指すコールバックを実装する必要があります。

dwReserved0

ゼロを指定してください。

dwReserved1

ゼロを指定してください。

dwReserved2

ゼロを指定してください。

dwReserved3

ゼロを指定してください。

dwReserved4

ゼロを指定してください。

dwReserved5

ゼロを指定してください。

dwReserved6

ゼロを指定してください。

dwReserved7

ゼロを指定してください。

dwReserved8

0 にする必要があります

dwReserved9

ゼロを指定してください。

注釈

ドライバーは、この構造体を割り当て、すべてのメンバーに適切な値を設定します。 ドライバーの DrvGetDirectDrawInfo 関数は、DD_HALINFO構造体の lpD3DHALCallbacks メンバー内のこの構造体へのポインターを返します。

テクスチャ管理は、 ドライバーの D3dDrawPrimitives2 の実装で管理されるオペコードによって処理されるようになりました。

要件

要件
Header d3dhal.h (D3dhal.h を含む)

こちらもご覧ください

D3DHAL_CALLBACKS3

D3dContextCreate

D3dContextDestroy

D3dDrawPrimitives2

DdGetDriverInfo

DrvGetDirectDrawInfo