次の方法で共有


D3DERR

次に示すのは、Direct3D のメソッドが返す値の一覧です。それぞれの返す値の一覧については、個別のメソッドの説明を参照してください。

名前 説明
D3DOK_NOAUTOGEN これはサクセス コードです。ただし、このフォーマットではミップマップの自動生成はサポートされていません。したがって、リソースの作成には成功しますが、ミップマップ レベルは自動的に生成されません。
D3DERR_CONFLICTINGRENDERSTATE 現在設定されているレンダリング ステートは同時に使用できません。
D3DERR_CONFLICTINGTEXTUREFILTER 現在のテクスチャー フィルターは同時に使用できません。
D3DERR_CONFLICTINGTEXTUREPALETTE 現在のテクスチャーは同時に使用できません。
D3DERR_DEVICEHUNG このコードを返したデバイスが原因で、ハードウェア アダプターが OS によってリセットされました。ほとんどのアプリケーションは、デバイスを破棄し、終了する必要があります。処理を継続しなければならないアプリケーションでは、すべてのビデオ メモリー オブジェクト (サーフェス、テクスチャー、ステート ブロックなど) を破棄し、Reset() を呼び出してデバイスをデフォルトの状態にします。その後、アプリケーションでレンダリングを同じ方法で継続すると、デバイスはこの状態に戻ります。

Direct3D 9Ex のみに適用されます。

D3DERR_DEVICELOST デバイスが失われましたが、この時点ではリセットできません。したがって、レンダリングはできません。このコードを返したもの以外の Direct 3D デバイス オブジェクトが原因で、ハードウェア アダプターが OS によりリセットされました。すべてのビデオ メモリー オブジェクト (サーフェス、テクスチャー、ステート ブロック) を削除し、Reset() を呼び出してデバイスをデフォルトの状態に戻します。リセットを実行しないでアプリケーションがレンダリングを継続すると、レンダリング呼び出しが成功します。
D3DERR_DEVICENOTRESET デバイスが失われましたが、この時点ではリセットできます。
D3DERR_DEVICEREMOVED ハードウェア アダプターが削除されています。アプリケーションでは、デバイスを破棄し、アダプターの列挙を実行し、別の Direct3D デバイスを作成する必要があります。Reset を呼び出さないでアプリケーションがレンダリングを継続すると、レンダリング呼び出しが成功します。

Direct3D 9Ex のみに適用されます。

D3DERR_DRIVERINTERNALERROR 内部ドライバー エラーが発生しました。アプリケーションは、このエラーを受け取った場合、デバイスを破棄し、再作成する必要があります。このエラーのデバッグに関するヒントについては、「ドライバーの内部エラー (Direct3D 9)」を参照してください。
D3DERR_DRIVERINVALIDCALL 使用されません。
D3DERR_INVALIDCALL メソッドの呼び出しが無効です。たとえば、メソッドのパラメーターが有効なポインターでない可能性があります。
D3DERR_INVALIDDEVICE 要求されたデバイスの種類が有効ではありません。
D3DERR_MOREDATA 指定されたバッファー サイズを超える量のデータが存在しています。
D3DERR_NOTAVAILABLE このデバイスは、クエリされた手法をサポートしていません。
D3DERR_NOTFOUND 要求された項目が見つかりませんでした。
D3D_OK エラーは発生していません。
D3DERR_OUTOFVIDEOMEMORY、 Direct3D が処理を行ううえで十分なディスプレイ メモリーがありません。デバイスは、ビデオ メモリーに同時に収まるより多くのリソースを、1 つのシーンで使用しています。IDirect3DDevice9::PresentIDirect3DDevice9Ex::PresentEx、または IDirect3DDevice9Ex::CheckDeviceState から、このエラーが返される可能性があります。リカバリは D3DERR_DEVICEHUNG に類似していますが、アプリケーションでは、このエラーの再発を防止するために、1 フレームあたりのメモリーの使用量を減らすことをお勧めします。
D3DERR_TOOMANYOPERATIONS デバイスがサポートしている以上のテクスチャー フィルタリング処理をアプリケーションが要求しています。
D3DERR_UNSUPPORTEDALPHAARG アルファ チャンネルに対して指定されているテクスチャー ブレンディング引数をデバイスがサポートしていません。
D3DERR_UNSUPPORTEDALPHAOPERATION アルファ チャンネルに対して指定されているテクスチャー ブレンディング処理をデバイスがサポートしていません。
D3DERR_UNSUPPORTEDCOLORARG カラー値に対して指定されているテクスチャー ブレンディング引数をデバイスがサポートしていません。
D3DERR_UNSUPPORTEDCOLOROPERATION カラー値に対して指定されているテクスチャー ブレンディング処理をデバイスがサポートしていません。
D3DERR_UNSUPPORTEDFACTORVALUE 指定されたテクスチャー係数値をデバイスがサポートしていません。使用されません。以前のドライバーをサポートするためにのみ提供されています。
D3DERR_UNSUPPORTEDTEXTUREFILTER 指定されたテクスチャー フィルターをデバイスがサポートしていません。
D3DERR_WASSTILLDRAWING このサーフェスとの間で情報を転送している以前のビット演算が不完全です。
D3DERR_WRONGTEXTUREFORMAT テクスチャー サーフェスのピクセル フォーマットが有効ではありません。
E_FAIL Direct3D サブシステム内で原因不明のエラーが発生しました。
E_INVALIDARG 戻り関数に無効なパラメーターが渡されました。
E_INVALIDCALL メソッドの呼び出しが無効です。たとえば、メソッドのパラメーターに無効な値が設定されている場合などです。
E_NOINTERFACE 利用可能なオブジェクト インターフェイスがありません。
E_NOTIMPL 実装されていません。
E_OUTOFMEMORY Direct3D が呼び出しを完了するうえで十分なメモリーを割り当てることができませんでした。
S_OK エラーは発生していません。
S_NOT_RESIDENT 一連のリソースを構成する割り当てがディスク上に 1 つ以上存在します。Direct3D 9Ex 専用です。
S_RESIDENT_IN_SHARED_MEMORY 一連のリソースを構成する割り当てがディスク上に存在しません。ただし、GPU からアクセス可能なメモリーにはない割り当てが 1 つ以上存在します。Direct3D 9Ex 専用です。
S_PRESENT_MODE_CHANGED デスクトップの表示モードが変更されました。アプリケーションはレンダリングを継続できますが、色変換/伸縮が発生している場合もあります。現在の表示モードに類似したバック バッファー フォーマットを選択し、Reset を呼び出して、スワップ チェーンを再作成してください。デバイスは、Reset が呼び出された後、このステートを抜けます。Direct3D 9Ex 専用です。
S_PRESENT_OCCLUDED プレゼンテーション領域がオクルードされています。オクルードとは、プレゼンテーション ウィンドウが最小化されるか、プレゼンテーション ウィンドウと同じモニター上で別のデバイスが全画面モードに入り、プレゼンテーション ウィンドウが完全にそのモニター上にあるということです。オクルージョンは、クライアント領域が別のウィンドウによって覆われていると、発生しません。

オクルードされたアプリケーションはレンダリングを継続することができ、すべての呼び出しは成功しますが、オクルードされたプレゼンテーション ウィンドウは更新されません。アプリケーションは、該当するデバイスを使用するプレゼンテーション ウィンドウへのレンダリングを停止し、S_OK または S_PRESENT_MODE_CHANGED が返されるまで IDirect3DDevice9Ex::CheckDeviceState を呼び出し続けるのが望ましいと言えます。

Direct3D 9Ex 専用です。

D3DERR_UNSUPPORTEDOVERLAY 指定されたサイズまたはディスプレイ モードのオーバーレイをデバイスがサポートしていません。Windows 7 で実行している Direct3D 9Ex 専用です。
D3DERR_UNSUPPORTEDOVERLAYFORMAT 指定されたサーフェス フォーマットのオーバーレイをデバイスがサポートしていません。Windows 7 で実行している Direct3D 9Ex 専用です。
D3DERR_CANNOTPROTECTCONTENT Windows 7 で実行している Direct3D 9Ex 専用です。
D3DERR_UNSUPPORTEDCRYPTO 指定された暗号化アルゴリズムをサポートしていません。Windows 7 で実行している Direct3D 9Ex 専用です。
D3DERR_PRESENT_STATISTICS_DISJOINT Windows 7 で実行している Direct3D 9Ex 専用です。

解説 

エラーは負の値で表され、それらを組み合わせることはできません。

他のリターン コードについては、「S_PRESENT」を参照してください。

エラー コードの生成には、以下のマクロのように、機能コード _FACD3D を使用します。

 // Direct3D Errors #define D3DERR_UNSUPPORTEDFACTORVALUE  MAKE_D3DHRESULT(2079) #define D3DERR_WASSTILLDRAWING         MAKE_D3DHRESULT(540)      #define _FACD3D                  0x876   // Direct3D facility code #define MAKE_D3DHRESULT( code )  MAKE_HRESULT( 1, _FACD3D, code ) #define MAKE_D3DSTATUS( code )   MAKE_HRESULT( 0, _FACD3D, code )