Direct3D ドライバー コールバックのリターン コード

次の表に、Direct3D ドライバー提供関数によって返される値を示します。 DDHAL_DRIVER_Xxx 値は、実際には DWORD 戻り値で返されます。 D3D_OK 値、D3DHAL_Xxx 値、および D3DERR_Xxx エラー コードは、特定の関数のパラメーターが指す構造体の ddrval メンバーで返されます。

各関数が返すことができる特定のエラー コードについては、「リファレンス」セクションの関数と構造体の説明を参照してください。 エラー コードと戻り値の完全なリストについては、Direct3D ヘッダー ファイル d3d.h およびd3dhal.h を参照してください (DirectX バージョン 8.0 および 9.0 の場合は d3d8.h および d3d9.h も参照してください)。 エラー コードは負の値で表され、結合できないことに注意してください。

Direct3D ドライバーの関数は、DDHAL_DRIVER_HANDLED または DDHAL_DRIVER_NOTHANDLED の 2 つのリターン コードのいずれかを返す必要があります。 ドライバーが 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 この色操作はサポートされていません。