Direct3D 드라이버 콜백에 대한 반환 코드

다음 표에서는 Direct3D Driver-Supplied Functions에서 반환할 수 있는 값을 나열합니다. DDHAL_DRIVER_Xxx 값은 실제로 DWORD 반환 값에 반환됩니다. D3D_OK 값, D3DHAL_Xxx 값 및 D3DERR_Xxx 오류 코드는 특정 함수의 매개 변수가 가리키는 구조체의 ddrval 멤버에 반환됩니다.

각 함수가 반환할 수 있는 특정 오류 코드는 참조 섹션의 함수 및 구조 설명을 참조하세요. 오류 코드 및 반환 값의 전체 목록은 Direct3D 헤더 파일 d3d.hd3dhal.h를 참조하세요(DirectX 버전 8.0 및 9.0의 경우 d3d8.h 및 d3d9.h). 오류 코드는 음수 값으로 표시되며 결합할 수 없습니다.

Direct3D 드라이버의 함수는 DDHAL_DRIVER_HANDLED 또는 DDHAL_DRIVER_NOTHANDLED 두 반환 코드 중 하나를 반환해야 합니다. 드라이버가 DDHAL_DRIVER_HANDLED 반환하는 경우 D3D_OK 또는 d3d.h 또는 d3dhal.h에 나열된 값 중 하나를 반환해야 합니다. Direct3D 드라이버의 함수는 다음 표의 값을 반환할 수 있습니다. 이러한 값은 d3d.hd3dhal.h로 정의됩니다.

의미
D3D_OK(DD_OK 정의) 요청이 성공적으로 완료되었습니다.
D3DHAL_CONTEXT_BAD 전달된 컨텍스트가 잘못되었습니다.
DDHAL_DRIVER_HANDLED 드라이버가 작업을 수행하고 드라이버의 콜백에 전달된 구조체의 ddrval 멤버에서 해당 작업에 대한 유효한 반환 코드를 반환했습니다. 이 코드가 D3D_OK 경우 Direct3D는 함수를 계속 진행합니다. 그렇지 않으면 Direct3D는 드라이버에서 제공하는 오류 코드를 반환하고 함수를 중단합니다.
DDHAL_DRIVER_NOTHANDLED 드라이버에 요청된 작업에 대한 주석이 없습니다. 드라이버가 특정 콜백을 구현해야 하는 경우 Direct3D는 오류 조건을 보고합니다. 그렇지 않으면 Direct3D는 Direct3D 디바이스 독립적 구현을 실행하여 드라이버 콜백이 정의되지 않은 것처럼 작업을 처리합니다. Direct3D는 일반적으로 해당 콜백의 매개 변수 구조의 ddrval 멤버에 반환된 모든 값을 무시합니다.
D3DHAL_OUTOFCONTEXTS 이 프로세스에는 더 이상 컨텍스트가 남아 있지 않습니다.
D3DERR_UNSUPPORTEDCOLOROPERATION 색 작업은 지원되지 않습니다.