Коды возврата для обратных вызовов драйвера Direct3D

В следующей таблице перечислены значения, которые могут быть возвращены функциями Driver-Supplied Direct3D. Фактически значения DDHAL_DRIVER_Xxx возвращаются в возвращаемом значении DWORD. Значения D3D_OK, значения D3DHAL_Xxx и коды ошибок D3DERR_Xxx возвращаются в элементе ddrval структуры, на которую указывает параметр конкретной функции.

Конкретные коды ошибок, которые может возвращать каждая функция, см. в описании функций и структуры в справочном разделе. Полный список кодов ошибок и возвращаемых значений (d3d8.h и d3d9.h для DirectX версий 8.0 и 9.0) см. в файлах заголовков Direct3D d3d.h и d3d9.h. Обратите внимание, что коды ошибок представлены отрицательными значениями и не могут быть объединены.

Функция в драйвере Direct3D должна возвращать один из двух кодов возврата: DDHAL_DRIVER_HANDLED или DDHAL_DRIVER_NOTHANDLED. Если драйвер возвращает DDHAL_DRIVER_HANDLED, он также должен вернуть либо D3D_OK, либо одно из значений, перечисленных в d3d.h или d3dhal.h. Функция в драйвере Direct3D может возвращать значения из следующей таблицы. Эти значения определены в d3d.h и d3dhal.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 Операция цвета не поддерживается.