適用対象: Outlook 2013 | Outlook 2016
�S�ʓI�Ɏ��s�����܂��͐��������ꍇ�́A����ɂ́A���� IMAPIProp���@�́A�����I�Ȑ�������܂��B
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、DeleteProps、CopyTo、または CopyProps からエラー値が返される場合、これは部分的な成功ではなく失敗を示します。 プロパティの問題の配列 (使用可能な場合) が無効です。 クライアントは、構造体に保持されているデータへのアクセスを試みたり、構造体自体を解放したりしないでください。 適切な応答は、 IMAPIProp::GetLastError を呼び出す方法です。
GetLastError は、Windows SDKで指定されたのと同じ名前の関数に似ています。 どちらも、戻り値で使用できるよりも、エラーに関するより詳細な情報を提供します。 どちらも、発生した前のエラーに関する情報を返します。 違いは、Win32 GetLastError 関数が呼び出し元のスレッドによって生成されたエラーを報告し、 IMAPIProp::GetLastError メソッドが現在のオブジェクトによって生成されたエラーを報告することです。 つまり、クライアントがメッセージに対 して DeleteProps を 呼び出し、メッセージが読み取り専用であることを示すためにMAPI_E_NO_ACCESSが返された場合、 GetLastError はメッセージによって提供されるデータを返します。