IMAPISupport::OpenProfileSection
適用対象: Outlook 2013 | Outlook 2016
現在のプロファイルのセクションを開き、さらにアクセスするために IProfSect ポインターを返します。
HRESULT OpenProfileSection(
LPMAPIUID lpUid,
ULONG ulFlags,
LPPROFSECT FAR * lppProfileObj
);
パラメーター
lpUid
[in]開くプロファイル セクションを識別する MAPIUID 構造体へのポインター。 lpUid パラメーターに NULL を渡すと、呼び出し元のプロファイル セクションが開きます。
ulFlags
[in]プロファイル セクションの開き方を制御するフラグのビットマスク。 次のフラグを設定できます。
MAPI_DEFERRED_ERRORS
呼び出し元がプロファイル セクションに完全にアクセスする前に、 OpenProfileSection が正常に返されるようにします。 プロファイル セクションにアクセスできない場合、後続のオブジェクト呼び出しを行うとエラーが発生する可能性があります。
MAPI_MODIFY
読み取り/書き込みアクセス許可を要求します。 既定では、オブジェクトは読み取り専用として開かれます。呼び出し元は、読み取り/書き込みアクセス許可が付与されている前提では動作しません。
lppProfileObj
[out]開いているプロファイル セクションへのポインターへのポインター。
戻り値
S_OK
プロファイル セクションが正常に開かれました。
MAPI_E_NO_ACCESS
読み取り専用プロファイル セクションを変更したり、呼び出し元がアクセス許可が不十分なオブジェクトにアクセスしようとしました。
MAPI_E_NOT_FOUND
lpEntryID で渡されるエントリ識別子に関連付けられているプロファイル セクションはありません。
MAPI_E_UNKNOWN_FLAGS
予約済みまたはサポートされていないフラグが使用されたため、操作が完了しませんでした。
注釈
IMAPISupport::OpenProfileSection メソッドは、すべてのサポート オブジェクトに対して実装されます。 サービス プロバイダーとメッセージ サービスは OpenProfileSection を呼び出してプロファイル セクションを開き、 その IProfSect インターフェイス実装へのポインターを取得します。
呼び出し側への注意
OpenProfileSection は、 ulFlags パラメーターでMAPI_MODIFY フラグを設定し、アクセス許可で十分でない限り、プロファイル セクションを読み取り専用として開きます。 このフラグを設定しても、読み取り/書き込みアクセス許可は保証されません。付与されるアクセス許可は、アクセス レベルとオブジェクトによって異なります。
OpenProfileSection は、存在しないプロファイル セクションを読み取り専用として開こうとすると、MAPI_E_NOT_FOUNDを返します。 OpenProfileSection が存在しないプロファイル セクションを読み取り/書き込みとして開こうとすると、プロファイル セクションが作成され、IProfSect ポインターが返されます。