MAPI でのエラー処理Error handling in MAPI

適用されます: OutlookApplies to: Outlook

ハンドル、または HRESULT を結果として呼ばれる 32 ビットの数値を使用して成功、警告、エラー値が返されます。Success, warning, and error values are returned using a 32-bit number known as a result handle, or HRESULT. HRESULT は本当に何もへのハンドル値のエンコードされたいくつかのフィールドを持つ 32 ビット値だけですることをお勧めします。An HRESULT is really not a handle to anything; it is merely a 32-bit value with several fields encoded in the value. ゼロという結果は成功を示し、0 以外の結果は失敗を示します。A zero result indicates success and a nonzero result indicates failure.

MAPI 32 ビットのプラットフォームでは、HRESULT の値でのみ動作します。MAPI on 32-bit platforms works solely with HRESULT values.

次の図では、32 ビット プラットフォーム用の HRESULT の形式を示します。The following illustration shows the HRESULT format for 32-bit platforms.

HRESULT の形式HRESULT format

HRESULT の形式HRESULT format

HRESULT の最上位ビットは、戻り値が成功または失敗を表すかどうかを示します。The high order bit in the HRESULT indicates whether the return value represents success or failure. かどうかは 0 に設定すると、値成功を示します。If set to zero, the value indicates success. 1 に設定すると、その障害を示しています。If set to 1, it indicates failure.

HRESULT には、R、C、N、r ビットが予約されています。The R, C, N, and r bits are reserved in the HRESULT.

両方のバージョンの機能のフィールドでは、エラーの責任の範囲を示します。The facility field in both versions indicates the area of responsibility for the error. いくつかの機能がありますが、MAPI エラーの大部分では、FACILITY_ITF を使用して、インターフェイスのエラーを表します。There are several facilities, but the vast majority of MAPI errors use FACILITY_ITF to represent interface errors. 現在使用されている最も一般的な機能: FACILITY_NULL、FACILITY_ITF、FACILITY_DISPATCH、FACILITY_RPC、および FACILITY_STORAGE。The most common facilities that are currently used are: FACILITY_NULL, FACILITY_ITF, FACILITY_DISPATCH, FACILITY_RPC, and FACILITY_STORAGE. 新しい設備が必要な場合は、Microsoft ライセンスを割り当てますは一意である必要があるためです。If new facilities are necessary, Microsoft allocates them because they need to be unique. 次の表では、さまざまな機能のフィールドについて説明します。The following table describes the various facility fields.

施設Facility 説明Description
FACILITY_NULLFACILITY_NULL
広範に適用される一般的なステータス コード S_OK、または E_OUTOF_MEMORY です。値は 0 です。For broadly applicable common status codes such as S_OK or E_OUTOF_MEMORY; the value is zero.
FACILITY_ITFFACILITY_ITF
インターフェイス メソッドから返されたステータス コードのほとんどの値は、インターフェイスによって定義されます。For most status codes returned from interface methods; the value is defined by the interface. 正確に 32 ビット値が同じ 2 つの異なるインターフェイスから返される 2 つの HRESULT 値は、異なる意味を持つ可能性があります。That is, two HRESULT values with exactly the same 32-bit value returned from two different interfaces might have different meanings.
FACILITY_DISPATCHFACILITY_DISPATCH
IDispatchを遅延バインディングのインターフェイスのエラーを実行します。For late binding IDispatch interface errors.
FACILITY_RPCFACILITY_RPC
リモート ・ プロシージャ ・ コールから返されるステータス ・ コードです。For status codes returned from remote procedure calls.
FACILITY_STORAGEFACILITY_STORAGE
構造化ストレージに関連するIStorageまたはIStreamのメソッド呼び出しから返されるステータス ・ コードです。For status codes returned from IStorage or IStream method calls relating to structured storage. コード (下位 16 ビット) 値が範囲の Windows のエラー コードでステータス コード (つまり、256 文字未満) 対応する Windows のエラーと同じ意味を持ちます。Status codes with code (lower 16 bits) values in the range of Windows error codes (that is, less than 256) have the same meaning as the corresponding Windows errors.

[コード] フィールドは、エラーまたは警告を表すために割り当てられている一意の番号です。The code field is a unique number that is assigned to represent the error or warning.