Retornar códigos para retornos de chamada do driver Direct3D

A tabela a seguir lista valores que podem ser retornados pelo Direct3D Driver-Supplied Functions. Os valores DDHAL_DRIVER_Xxx realmente são retornados no valor de retorno DWORD. O valor D3D_OK, os valores D3DHAL_Xxx e os códigos de erro D3DERR_Xxx são retornados no membro ddrval da estrutura à qual o parâmetro da função específica aponta.

Para obter códigos de erro específicos que cada função pode retornar, consulte as descrições de função e estrutura na seção de referência. Consulte arquivos de cabeçalho direct3D d3d.h e d3dhal.h para obter uma listagem completa de códigos de erro e valores retornados (também, d3d8.h e d3d9.h para as versões 8.0 e 9.0 do DirectX). Observe que os códigos de erro são representados por valores negativos e não podem ser combinados.

Uma função em um driver Direct3D deve retornar um dos dois códigos de retorno: DDHAL_DRIVER_HANDLED ou DDHAL_DRIVER_NOTHANDLED. Se o driver retornar DDHAL_DRIVER_HANDLED, ele também deverá retornar D3D_OK ou um dos valores listados em d3d.h ou d3dhal.h. Uma função em um driver Direct3D pode retornar os valores na tabela a seguir. Esses valores são definidos em d3d.h e d3dhal.h.

Valor Significado
D3D_OK (definido como DD_OK) A solicitação foi concluída com êxito.
D3DHAL_CONTEXT_BAD O contexto passado não era válido.
DDHAL_DRIVER_HANDLED O driver executou a operação e retornou um código de retorno válido para essa operação no membro ddrval da estrutura passada para o retorno de chamada do driver. Se esse código for D3D_OK, o Direct3D continuará com a função . Caso contrário, o Direct3D retornará o código de erro fornecido pelo driver e anulará a função.
DDHAL_DRIVER_NOTHANDLED O driver não tem comentários sobre a operação solicitada. Se o driver for necessário para ter implementado um retorno de chamada específico, o Direct3D relatará uma condição de erro. Caso contrário, o Direct3D manipula a operação como se o retorno de chamada do driver não tivesse sido definido executando a implementação independente do dispositivo Direct3D. O Direct3D normalmente ignora qualquer valor retornado no membro ddrval da estrutura de parâmetros desse retorno de chamada.
D3DHAL_OUTOFCONTEXTS Não há mais contextos nesse processo.
D3DERR_UNSUPPORTEDCOLOROPERATION Não há suporte para a operação de cores.