COM でのエラー処理 (COM)
ほとんどすべての COM 関数とインターフェイス メソッドは、HRESULT の値を返します。 HRESULT (名前は "結果ハンドル" として読み取ることができます) は、成功、警告、またはエラー値を返す方法です。 HRESULT は実際にはハンドルではありません (HRESULT が何も処理されない場合に H で始まる理由を参照してください)。これは、複数のフィールドがエンコードされた値にすぎません。 COM 仕様に従って、結果が 0 の場合は成功を示し、結果が 0 以外の場合は失敗を示します。
ソース コード レベルでは、すべてのエラー値はアンダースコアで区切られた 3 つの部分で構成されます。 最初の部分はエラーに関連する機能を識別するプレフィックス、2 番目の部分はエラーを表す E、3 番目の部分は実際の状態を説明する文字列です。 たとえば、ハード ディスクに空き領域がない場合は、STG_E_MEDIUMFULL が返されます。 STG プレフィックスはストレージ機能を示し、E は状態コードがエラーを表し、MEDIUMFULL はエラーに関する特定の情報を提供します。 インターフェイス メソッドまたは関数から返される可能性がある値の多くは、Winerror.h で定義されています。
エラー処理の詳細については、次のセクションを参照してください。
- COM エラー コードの構造
- FACILITY_ITF のコード
- エラー処理にマクロを使用する
- Java および Visual Basic での COM エラー処理
- エラーの処理方法
- 不明なエラーの処理
関連トピック