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 エラー処理の
- エラー処理戦略
- 不明なエラー を処理する
関連トピック