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
드라이버 제공 D3dContext콜백 만들기를 가리킵니다. 드라이버는 이 멤버가 가리키는 콜백을 구현해야 합니다.
ContextDestroy
드라이버 제공 D3dContextDestroy 콜백을 가리킵니다. 드라이버는 이 멤버가 가리키는 콜백을 구현해야 합니다.
ContextDestroyAll
Windows 2000 이상 드라이버에서 NULL 로 설정해야 합니다.
SceneCapture
Windows 2000 이상 드라이버에서 NULL 로 설정해야 합니다. DirectX 6.0의 경우 드라이버 제공 D3dSceneCapture 콜백에 대한 포인터입니다. DirectX 7.0 이상의 경우 이 콜백은 D3dDrawPrimitives2 함수에서 D3DRENDERSTATE_SCENECAPTURE 렌더링 상태를 처리하는 것으로 대체되었습니다.
lpReserved10
0이어야 합니다.
lpReserved11
0이어야 합니다.
RenderState
드라이버 제공 D3DHAL_RENDERSTATEDATA 콜백을 가리킵니다. 드라이버는 이 멤버가 가리키는 콜백을 구현해야 합니다.
RenderPrimitive
드라이버 제공 D3DHAL_RENDERPRIMITIVEDATA 콜백을 가리킵니다. 드라이버는 이 멤버가 가리키는 콜백을 구현해야 합니다.
dwReserved
예약 필드를 지정하고 0으로 설정해야 합니다.
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
0이어야 합니다.
lpReserved13
0이어야 합니다.
lpReserved14
0이어야 합니다.
lpReserved15
0이어야 합니다.
lpReserved16
0이어야 합니다.
lpReserved17
0이어야 합니다.
lpReserved18
0이어야 합니다.
lpReserved19
0이어야 합니다.
lpReserved20
0이어야 합니다.
lpReserved21
0이어야 합니다.
GetState
드라이버 제공 D3DHAL_GETSTATEDATA 콜백을 가리킵니다. 드라이버는 이 멤버가 가리키는 콜백을 구현해야 합니다.
dwReserved0
0이어야 합니다.
dwReserved1
0이어야 합니다.
dwReserved2
0이어야 합니다.
dwReserved3
0이어야 합니다.
dwReserved4
0이어야 합니다.
dwReserved5
0이어야 합니다.
dwReserved6
0이어야 합니다.
dwReserved7
0이어야 합니다.
dwReserved8
0이어야 합니다.
dwReserved9
0이어야 합니다.
설명
드라이버는 이 구조를 할당하고 모든 멤버에 적절한 값을 설정합니다. 드라이버의 DrvGetDirectDrawInfo 함수는 DD_HALINFO 구조체의 lpD3DHALCallbacks 멤버에서 이 구조체에 대한 포인터를 반환합니다.
이제 드라이버의 D3dDrawPrimitives2 구현에서 관리되는 opcode를 통해 텍스처 관리가 처리됩니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | d3dhal.h(D3dhal.h 포함) |