D3DHAL_CALLBACKS结构(d3dhal.h)

D3DHAL_CALLBACKS是描述驱动程序提供的 Direct3D 支持的多个回调结构之一。

语法

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

指定保留字段,必须设置为零。

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

必须为零

dwReserved9

必须为零。

言论

驱动程序分配此结构并在所有成员中设置适当的值。 驱动程序的 DrvGetDirectDrawInfo 函数返回指向 DD_HALINFO 结构的 lpD3DHALCallbacks 成员中此结构的指针。

纹理管理现在经过处理,但在驱动程序实现 D3dDrawPrimitives2中管理的作码。

要求

要求 价值
标头 d3dhal.h (包括 D3dhal.h)

另请参阅

D3DHAL_CALLBACKS3

D3dContextCreate

D3dContextDestroy

D3dDrawPrimitives2

DdGetDriverInfo

DrvGetDirectDrawInfo