IPropData::HrAddObjProps
適用対象: Outlook 2013 | Outlook 2016
オブジェクトにPT_OBJECT型のプロパティを 1 つ以上追加します。
HRESULT HrAddObjProps(
LPSPropTagArray lpPropTagArray,
LPSPropProblemArray FAR * lppProblems
);
パラメーター
lpPropTagArray
[in]追加するプロパティを示すプロパティ タグの配列へのポインター。
lppProblems
[in, out]入力時に、 SPropProblemArray 構造体 (NULL) への有効なポインター。 出力時に、追加できなかったプロパティに関する情報を含む構造体へのポインター (NULL)。 プロパティの問題配列構造体へのポインターは、有効なポインターが渡された場合にのみ返されます。
戻り値
S_OK
プロパティが正常に追加されました。
MAPI_E_INVALID_TYPE
lpPropTagArray パラメーターが指す配列に、PT_OBJECT以外のプロパティ型が渡されました。
MAPI_E_NO_ACCESS
オブジェクトは、読み取り/書き込みアクセス許可を許可しないように設定されています。
MAPI_W_PARTIAL_COMPLETION
一部のプロパティが追加されましたが、すべてではありません。
注釈
IPropData::HrAddObjProps メソッドは、オブジェクトにPT_OBJECT型の 1 つ以上のプロパティを追加します。 HrAddObjProps は、オブジェクト プロパティに対して IMAPIProp::SetProps メソッドの代替手段を提供します。 これは、SetProps を呼び出してオブジェクト プロパティを作成できないためです。 オブジェクト プロパティを追加すると、 IMAPIProp::GetPropList メソッドが返すプロパティ タグの一覧にプロパティ タグが含まれます。
呼び出し側への注意
HrAddObjProps がMAPI_W_PARTIAL_COMPLETIONを返し、lppProblems を有効なポインターに設定している場合は、返された SPropProblemArray 構造体をチェックして、追加されなかったプロパティを確認します。 通常、発生する唯一の問題はメモリ不足です。 終わったら MAPIFreeBuffer 関数を呼び出して、SPropProblemArray 構造体を解放します。
プロパティを追加するには、ターゲット オブジェクトに読み取り/書き込みアクセス許可が必要です。 HrAddObjProps がMAPI_E_NO_ACCESSを返す場合は、変更を許可しないため、オブジェクトにプロパティを追加できません。 HrAddObjProps を呼び出す前にオブジェクトに対する読み取り/書き込みアクセス許可を取得するには、IPropData::HrSetObjAccess を呼び出し、ulAccess パラメーターを IPROP_READWRITE に設定します。