共用方式為


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)

另請參閱

D3DHAL_CALLBACKS3

D3dContextCreate

D3dContextDestroy

D3dDrawPrimitives2

DdGetDriverInfo

DrvGetDirectDrawInfo