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 函式會傳回 lpD3DHALCallbacks 中這個結構的指標,DD_HALINFO 結構的成員。
紋理管理現在可透過驅動程序實作 D3dDrawPrimitives2中管理的 opcode 來處理。
要求
要求 | 價值 |
---|---|
標頭 | d3dhal.h (包括 D3dhal.h) |