Поделиться через


структура 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

Указывает на обратный вызов, предоставленный драйвером, D3dContextDe si. Драйвер должен реализовать обратный вызов, на который указывает этот член.

ContextDestroyAll

Необходимо задать значение NULL в драйвере Windows 2000 и более поздних версий.

SceneCapture

Необходимо задать значение NULL в драйвере Windows 2000 и более поздних версий. Для DirectX 6.0 это был указатель на предоставленный драйвером D3dSceneCapture обратном вызове. Для DirectX 7.0 и более поздних версий этот обратный вызов был заменен обработкой состояния D3DRENDERSTATE_SCENECAPTURE отрисовки в функции D3dDrawPrimitives2.

lpReserved10

Должно быть равно нулю.

lpReserved11

Должно быть равно нулю.

RenderState

Указывает на обратный вызов, предоставленный драйвером D3DHAL_RENDERSTATEDATA. Драйвер должен реализовать обратный вызов, на который указывает этот член.

RenderPrimitive

Указывает на обратный вызов, предоставленный драйвером D3DHAL_RENDERPRIMITIVEDATA. Драйвер должен реализовать обратный вызов, на который указывает этот член.

dwReserved

Задает зарезервированные поля и должен иметь значение нулю.

TextureCreate

Необходимо задать значение NULL в драйвере Windows 2000 и более поздних версий. Для DirectX 6.0 это был указатель на предоставленный драйвером обратного вызова D3dTextureCreate или NULL.

TextureDestroy

Необходимо задать значение NULL в драйвере Windows 2000 и более поздних версий. Для DirectX 6.0 это был указатель на предоставленный драйвером обратном вызове D3dTextureDesi или NULL.

TextureSwap

Необходимо задать значение NULL в драйвере Windows 2000 и более поздних версий. Для DirectX 6.0 это был указатель на предоставленный драйвером обратном вызове D3dTextureSwap или NULL.

TextureGetSurf

Необходимо задать значение NULL в драйвере Windows 2000 и более поздних версий. Для 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.

Требования

Требование Ценность
заголовка d3dhal.h (include D3dhal.h)

См. также

D3DHAL_CALLBACKS3

D3dContextCreate

D3dContextDetextDetextDe textDe

D3dDrawPrimitives2

DdGetDriverInfo

DrvGetDirectDrawInfo