次の方法で共有


MAPI プロパティ エラーの処理

適用対象: Outlook 2013 | Outlook 2016

�S�ʓI�Ɏ��s�����܂��͐��������ꍇ�́A����ɂ́A���� IMAPIProp���@�́A�����I�Ȑ�����񍐂��܂��B

GetProps

SetProps

DeleteProps

CopyTo

CopyProps

GetProps reports partial success when it can retrieve at least one of the requested properties for an object. GetProps indicates partial success by returning the warning MAPI_W_ERRORS_RETURNED and placing information about the unavailable properties in the property value array pointed to by the lppPropArray parameter. An unavailable property's entry in this array contains PT_ERROR for the property type in the ulPropTag member and MAPI_E_NOT_FOUND or another appropriate error value for the Value member. For example, if a client calls a folder's GetProps method to retrieve three properties and the third is unavailable, the message store provider places PT_ERROR in the third property type in the property value array and MAPI_E_NOT_FOUND in the third property value.

他の IMAPIProp メソッドでは、部分的な成功が異なる方法で報告されます。 これらのメソッドは、S_OKを返し、エラー情報を SPropProblemArray 構造体に配置することで、部分的な成功を報告します。 メソッドが成功したか失敗したかに関係なく、データを含む GetProps のプロパティ値配列とは異なり、これらのメソッドのプロパティの問題配列は、エラーがある場合にのみ存在し、呼び出し元がエラーの学習に関心を持っている場合にのみ存在します。 呼び出し元は、エラー情報を登録するために有効な SPropProblemArray ポインターを指定する必要があります。

SetProps、DeletePropsCopyTo、または CopyProps からエラー値が返される場合、これは部分的な成功ではなく失敗を示します。 プロパティの問題の配列 (使用可能な場合) が無効です。 クライアントは、構造体に保持されているデータへのアクセスを試みたり、構造体自体を解放したりしないでください。 適切な応答は、 IMAPIProp::GetLastError を呼び出す方法です。

GetLastError は、Windows SDKで指定されたのと同じ名前の関数に似ています。 どちらも、戻り値で使用できるよりも、エラーに関するより詳細な情報を提供します。 どちらも、発生した前のエラーに関する情報を返します。 違いは、Win32 GetLastError 関数が呼び出し元のスレッドによって生成されたエラーを報告し、 IMAPIProp::GetLastError メソッドが現在のオブジェクトによって生成されたエラーを報告することです。 つまり、クライアントがメッセージに対 して DeleteProps を 呼び出し、メッセージが読み取り専用であることを示すためにMAPI_E_NO_ACCESSが返された場合、 GetLastError はメッセージによって提供されるデータを返します。

関連項目