Compartilhar via


IMAPISession::OpenProfileSection

Aplica-se a: Outlook 2013 | Outlook 2016

Abre uma seção do perfil atual e retorna um ponteiro IProfSect para obter mais acesso.

HRESULT OpenProfileSection(
  LPMAPIUID lpUID,
  LPCIID lpInterface,
  ULONG ulFlags,
  LPPROFSECT FAR * lppProfSect
);

Parâmetros

lpUID

[in] Um ponteiro para a estrutura MAPIUID que identifica a seção de perfil.

lpInterface

[in] Um ponteiro para o IID (identificador de interface) que representa a interface a ser usada para acessar a seção de perfil. Passar NULL faz com que o parâmetro lppProfSect retorne um ponteiro para a interface padrão da seção de perfil, IProfSect.

ulFlags

[in] Um bitmask de sinalizadores que controla o acesso à seção de perfil. Os seguintes sinalizadores podem ser definidos:

MAPI_DEFERRED_ERRORS

Permite que OpenProfileSection retorne com êxito , possivelmente antes que a seção de perfil esteja totalmente disponível para o cliente de chamada. Se a seção de perfil não estiver disponível, fazer uma chamada subsequente pode causar um erro.

MAPI_FORCE_ACCESS

Permite acesso a uma seção de perfil que não pertence ao provedor.

MAPI_MODIFY

Solicita permissão de leitura/gravação. Por padrão, as seções de perfil são abertas com permissão somente leitura e os clientes não devem trabalhar na suposição de que a permissão de leitura/gravação foi concedida.

lppProfSect

[out] Um ponteiro para um ponteiro para a seção de perfil.

Valor de retorno

S_OK

A seção de perfil foi aberta com êxito.

MAPI_E_NO_ACCESS

Foi feita uma tentativa de acessar uma seção de perfil para a qual o chamador tem permissões insuficientes.

MAPI_E_NOT_FOUND

A seção de perfil solicitado não existe.

Comentários

O método IMAPISession::OpenProfileSection abre uma seção de perfil ou objeto que dá suporte à interface IProfSect . As seções de perfil são usadas para ler informações e gravar informações no perfil da sessão.

Você não pode usar o OpenProfileSection para abrir seções de perfil que os provedores de serviços individuais possuem, a menos que você especifique MAPI_FORCE_ACCESS no parâmetro ulFlags .

Notas para chamadores

Vários clientes podem abrir uma seção de perfil com permissão somente leitura, mas apenas um cliente pode abrir uma seção de perfil com permissão de leitura/gravação. Se outro cliente tiver uma seção de perfil aberta que você tentar abrir chamando OpenProfileSection com o conjunto de sinalizadores MAPI_MODIFY, a chamada falhará, retornando MAPI_E_NO_ACCESS.

Uma operação aberta somente leitura falhará se a seção estiver aberta para gravação.

Você pode criar uma seção de perfil chamando OpenProfileSection com o sinalizador MAPI_MODIFY e uma estrutura MAPIUID inexistente no parâmetro lpUID . Certifique-se de especificar MAPI_MODIFY. Se você definir lpUID para apontar para um MAPIUID inexistente e OpenProfileSection estiver definido para usar o modo de acesso padrão somente leitura, a chamada falhará com MAPI_E_NOT_FOUND.

Confira também

IMAPIProp : IUnknown

IProfSect : IMAPIProp

MAPIUID

IMAPISession : IUnknown