次の方法で共有


IMAPIProp::GetLastError

適用対象: Outlook 2013 | Outlook 2016

前のエラーに関する情報を含む MAPIERROR 構造体を返します。

HRESULT GetLastError(
  HRESULT hResult,
  ULONG ulFlags,
  LPMAPIERROR FAR * lppMAPIError
);

パラメーター

Hresult

[in]前のメソッド呼び出しで生成されたエラー コードのハンドル。

ulFlags

[in]lppMAPIError によって指される MAPIERROR 構造体で返されるテキストの形式を示すフラグのビットマスク。 次のフラグを設定できます。

MAPI_UNICODE

文字列は Unicode 形式である必要があります。 MAPI_UNICODE フラグが設定されていない場合、文字列は ANSI 形式である必要があります。

lppMAPIError

[out]エラーのバージョン、コンポーネント、コンテキスト情報を含む MAPIERROR 構造体へのポインター。 返すエラー情報がない場合は、 lppMAPIError パラメーターを NULL に設定できます。

戻り値

S_OK

エラー情報が返されました。

MAPI_E_BAD_CHARWIDTH

MAPI_UNICODE フラグが設定され、実装で Unicode がサポートされていないか、MAPI_UNICODEが設定されておらず、実装で Unicode のみがサポートされています。

注釈

IMAPIProp::GetLastError メソッドは、失敗した以前のメソッド呼び出しに関する情報を提供します。 クライアントは、 MAPIERROR 構造体のデータをダイアログ ボックスに含めることで、エラーに関する詳細情報をユーザーに提供できます。

MAPI によって提供される GetLastError の実装はすべて ANSI 実装ですが、 IAddrBook の実装を除きます。 IAddrBook に含まれる GetLastError メソッドは Unicode をサポートしています。

実装に関するメモ

このメソッドのリモート トランスポート プロバイダーの実装の詳細と、このメソッドから返されるメッセージはトランスポート プロバイダーにかかっています。これは、さまざまな HRESULT 値につながる特定のエラー条件がトランスポート プロバイダーによって異なるためです。

呼び出し側への注意

戻り値がS_OKの場合にのみ、GetLastError が 1 つを提供する場合は、lppMAPIError パラメーターによって指される MAPIERROR 構造体を使用できます。 場合によっては 、GetLastError で 最後のエラーが何であったのかを判断できない場合や、エラーについて報告するものが他にありません。 この状況では、代わりに null へのポインターが lppMAPIError で返されます。

MAPIERROR 構造体のメモリを解放するには、MAPIFreeBuffer 関数を呼び出します。

GetLastError メソッドの詳細については、「MAPI 拡張エラー」を参照してください。

関連項目

IAddrBook : IMAPIProp

MAPIERROR

MAPIFreeBuffer

IMAPIProp : IUnknown

MAPI 拡張エラー