MAPI �g���G���[MAPI Extended Errors

適用されます: OutlookApplies to: Outlook

(S_OK) の成功と失敗 (MAPI_E_CALL_FAILED) を単に返すか、エラー条件、状況に適した、多くのエラー値を返すことの間で区別するためにインターフェイス メソッドの実装を選択できます。Implementers of interface methods can choose to simply return success (S_OK) and failure (MAPI_E_CALL_FAILED) or differentiate between error conditions, returning as many error values as make sense for the situation. ほとんどの場合に、MAPICODE では、MAPI によって定義されているエラー値のいずれかを使用できます。H ヘッダー ファイルです。Most situations can use one of the error values defined by MAPI in the MAPICODE.H header file. ただし、状況のことは説明しませんで定義済みの値、値の MAPI_E_EXTENDED_ERROR を使用することができます。However, for situations that are not covered by a predefined value, the value MAPI_E_EXTENDED_ERROR can be used. MAPI_E_EXTENDED_ERROR は、呼び出し元に、エラーに関する詳細情報があることを示します。MAPI_E_EXTENDED_ERROR indicates to the caller that more information about the error is available. 呼び出し元は、MAPI_E_EXTENDED_ERROR が返されますが同じオブジェクトを返しますメソッドを呼び出して、追加情報を取得します。The caller retrieves the additional information by calling the GetLastError method on the same object that returned MAPI_E_EXTENDED_ERROR.

MAPI_E_EXTENDED_ERROR だけでなく、すべてのエラー コードに関する情報を取得するのには、 GetLastErrorを呼び出すことができます。GetLastError can be called to retrieve information about any error code, not only MAPI_E_EXTENDED_ERROR. MAPI オブジェクトの多くは、 GetLastErrorメソッドを含むインターフェイスを実装します。Many MAPI objects implement interfaces that include the GetLastError method. GetLastErrorを含んだ、理論的には、連結前のメソッドの呼び出しによって生成されたすべてのエラーの 1 つMAPIERROR構造体を返します。GetLastError returns a single MAPIERROR structure that, in theory, includes a concatenation of all the errors generated by the previous method call. 詳細については、 MAPIERRORを参照してください。For more information, see MAPIERROR. 、呼び出し元としては、オブジェクトの実装側が提供することを必須ではありませんのでこの追加のエラー情報を利用することに依存することをお勧めします。As a caller, it is wise not to depend on having this extra error information available because object implementers are not required to provide it. ただし、実装者は、MAPI_E_EXTENDED_ERROR を返すときにできるため、エラーに関する有用な情報を含むMAPIERROR構造体を取得する呼び出し元を強くお勧めします。However, it is strongly recommended that whenever implementers return MAPI_E_EXTENDED_ERROR, they make it possible for callers to retrieve a MAPIERROR structure with useful information about the error.

GetLastErrorは Windows SDK の一部である API 関数でもあるので、忘れ、MAPI のGetLastErrorインターフェイス メソッドでは、MAPI オブジェクトにのみと呼ばれることができますができます。Because GetLastError is also an API function that is part of the Windows SDK, it can be easy to forget that in MAPI, GetLastError is an interface method and can only be called on MAPI objects. 別の簡単なミス、不適切なオブジェクトにGetLastErrorを呼び出しています。Another easy mistake to make is calling GetLastError on the wrong object. エラーを生成したオブジェクトには、 GetLastErrorを呼び出す必要があります。GetLastError must be called on the object that generated the error. などを呼び出すと、セッションで、クライアントは、MAPI 処理のためには、サービス プロバイダーへの呼び出しを転送する場合は、クライアント呼び出さないでください。 GetLastErrorサービス プロバイダー オブジェクト。For example, if your client makes a session call, and MAPI forwards the call to a service provider to do the work, your client should not call GetLastError on the service provider object. IMAPISession::GetLastErrorは、適切な呼び出しです。セッション オブジェクトのGetLastErrorを呼び出す必要があります。IMAPISession::GetLastError is the correct call; GetLastError should be invoked on the session object. 詳細については、 IMAPISession::GetLastErrorを参照してください。For more information, see IMAPISession::GetLastError.