共用方式為


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 中管理的 opcode 來處理紋理管理。

規格需求

需求
標頭 d3dhal.h (包含 D3dhal.h)

另請參閱

D3DHAL_CALLBACKS3

D3dContextCreate

D3dContextDestroy

D3dDrawPrimitives2

DdGetDriverInfo

DrvGetDirectDrawInfo