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 を含む) |