DD_D3DBUFCALLBACKS 구조체(ddrawint.h)
DD_D3DBUFCALLBACKS 구조는 명령 및 꼭짓점 버퍼의 드라이버 수준 할당을 구현하는 드라이버에서만 사용됩니다.
구문
typedef struct _DD_D3DBUFCALLBACKS {
DWORD dwSize;
DWORD dwFlags;
PDD_CANCREATESURFACE CanCreateD3DBuffer;
PDD_CREATESURFACE CreateD3DBuffer;
PDD_SURFCB_DESTROYSURFACE DestroyD3DBuffer;
PDD_SURFCB_LOCK LockD3DBuffer;
PDD_SURFCB_UNLOCK UnlockD3DBuffer;
} DD_D3DBUFCALLBACKS, *PDD_D3DBUFCALLBACKS;
멤버
dwSize
이 DD_D3DBUFCALLBACKS 구조체의 크기(바이트)를 지정합니다.
dwFlags
예약되어 있습니다.
CanCreateD3DBuffer
드라이버의 CanCreateD3DBuffer 콜백을 가리킵니다.
CreateD3DBuffer
드라이버의 CreateD3DBuffer 콜백을 가리킵니다.
DestroyD3DBuffer
드라이버의 DestroyD3DBuffer 콜백을 가리킵니다.
LockD3DBuffer
드라이버의 LockD3DBuffer 콜백을 가리킵니다.
UnlockD3DBuffer
드라이버의 UnlockD3DBuffer 콜백을 가리킵니다.
설명
자체 명령 및 꼭짓점 버퍼를 관리하는 드라이버는 DD_D3DBUFCALLBACKS 구조를 채우고 DD_HALINFOlpD3DBufCallbacks 멤버를 가리키도록 해야 합니다.
드라이버는 DD_D3DBUFCALLBACKS 구조에 보고된 콜백 함수도 지원해야 합니다. 이러한 XxxD3DBuffer 콜백은 각각 유사한 이름의 DdXxxSurface 콜백과 유사합니다. 동일한 프로토타입을 가지고 있으며 동일한 입력 매개 변수를 사용하여 호출됩니다. 이러한 새 콜백은 문제의 표면에 표면 대문자로 설정된 DDSCAPS_EXECUTEBUFFER 플래그가 있는 경우에만 호출됩니다. 버퍼 생성 플래그는 DDSCAPS_WRITEONLY, DDSCAPS2_VERTEXBUFFER 및 DDSCAPS2_COMMANDBUFFER.
드라이버는 다음 플래그에 대해 CanCreateD3DBuffer 및 CreateD3DBuffer에 전달되는 DD_SURFACE_LOCAL 구조체의 ddsCaps 멤버를 확인하여 요청되는 버 퍼 유형을 결정합니다.
-
DDSCAPS_VERTEXBUFFER
드라이버가 명시적 꼭짓점 버퍼를 할당해야 했음을 나타냅니다.
-
DDSCAPS_COMMANDBUFFER
드라이버가 명령 버퍼를 할당해야 했음을 나타냅니다.
-
이 두 플래그가 모두 없는 경우
드라이버가 암시적 꼭짓점 버퍼를 할당해야 했음을 나타냅니다.
요구 사항
머리글 | ddrawint.h(Winddi.h 포함) |