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 拡張エラー」を参照してください。