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) |