IMAPISession::OpenProfileSection
適用対象: Outlook 2013 | Outlook 2016
現在のプロファイルのセクションを開き、さらにアクセスするために IProfSect ポインターを返します。
HRESULT OpenProfileSection(
LPMAPIUID lpUID,
LPCIID lpInterface,
ULONG ulFlags,
LPPROFSECT FAR * lppProfSect
);
パラメーター
lpUID
[in]プロファイル セクションを識別する MAPIUID 構造体へのポインター。
lpInterface
[in]プロファイル セクションへのアクセスに使用するインターフェイスを表すインターフェイス識別子 (IID) へのポインター。 NULL を渡すと、 lppProfSect パラメーターはプロファイル セクションの標準インターフェイス IProfSect へのポインターを返します。
ulFlags
[in]プロファイル セクションへのアクセスを制御するフラグのビットマスク。 次のフラグを設定できます。
MAPI_DEFERRED_ERRORS
呼び出し元のクライアントがプロファイル セクションを完全に使用できるようになる前に、 OpenProfileSection が正常に返されるようにします。 プロファイル セクションを使用できない場合は、後続の呼び出しを行うとエラーが発生する可能性があります。
MAPI_FORCE_ACCESS
プロバイダーに属していないプロファイル セクションへのアクセスを許可します。
MAPI_MODIFY
読み取り/書き込みアクセス許可を要求します。 既定では、プロファイル セクションは読み取り専用アクセス許可で開かれます。クライアントは、読み取り/書き込みアクセス許可が付与されていることを前提として動作しません。
lppProfSect
[out]プロファイル セクションへのポインター。
戻り値
S_OK
プロファイル セクションが正常に開かれました。
MAPI_E_NO_ACCESS
呼び出し元に十分なアクセス許可が与えられなかったプロファイル セクションへのアクセスが試行されました。
MAPI_E_NOT_FOUND
要求されたプロファイル セクションが存在しません。
注釈
IMAPISession::OpenProfileSection メソッドは、IProfSect インターフェイスをサポートするプロファイル セクションまたはオブジェクトを開きます。 プロファイル セクションは、セッション プロファイルからの情報の読み取りとセッション プロファイルへの情報の書き込みに使用されます。
ulFlags パラメーターでMAPI_FORCE_ACCESSを指定しない限り、OpenProfileSection を使用して個々のサービス プロバイダーが所有するプロファイル セクションを開くことはできません。
呼び出し側への注意
複数のクライアントが読み取り専用アクセス許可を持つプロファイル セクションを開くことができますが、読み取り/書き込みアクセス許可を持つプロファイル セクションを開くことができるクライアントは 1 つだけです。 MAPI_MODIFY フラグを設定して OpenProfileSection を呼び出して開こうとするプロファイル セクションが別のクライアントで開かれている場合、呼び出しは失敗し、MAPI_E_NO_ACCESSが返されます。
セクションが書き込みのために開いている場合、読み取り専用の開いている操作は失敗します。
プロファイル セクションは、MAPI_MODIFY フラグと lpUID パラメーターに存在しない MAPIUID 構造体を使用して OpenProfileSection を呼び出すことによって作成できます。 必ずMAPI_MODIFYを指定してください。 lpUID が存在しない MAPIUID を指すように設定し、OpenProfileSection が読み取り専用の既定のアクセス モードを使用するように設定されている場合、呼び出しはMAPI_E_NOT_FOUNDで失敗します。