Compartilhar via


IProviderAdmin::OpenProfileSection

Aplica-se a: Outlook 2013 | Outlook 2016

Abre uma seção de perfil 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 contém o identificador exclusivo para a seção de perfil a ser aberta. Os clientes não devem passar NULL para o parâmetro lpUID . Os provedores de serviços podem passar NULL para recuperar o MAPIUID quando eles chamam de suas funções de ponto de entrada do serviço de mensagem.

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 resulta no retorno da interface padrão (IProfSect) da seção de perfil.

ulFlags

[in] Um bitmask de sinalizadores que controla como a seção de perfil é aberta. 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 chamador. Se a seção de perfil não estiver disponível, fazer uma chamada subsequente a ela poderá gerar um erro.

MAPI_MODIFY

Solicita permissão de leitura/gravação. Por padrão, os objetos são abertos com permissão somente leitura e os chamadores não devem trabalhar na suposição de que a permissão de leitura/gravação foi concedida. Os clientes não têm permissão de leitura/gravação para seções de provedor do perfil.

MAPI_FORCE_ACCESS

Permite acesso a todas as seções de perfil, mesmo aquelas pertencentes a provedores de serviços individuais.

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 modificar uma seção de perfil somente leitura ou acessar um objeto para o qual o usuário tem permissões insuficientes.

MAPI_E_NOT_FOUND

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

Comentários

O método IProviderAdmin::OpenProfileSection abre uma seção de perfil, permitindo que o chamador leia informações e possivelmente escreva informações para o perfil ativo.

Os clientes não podem abrir seções de perfil que pertencem a provedores usando o método OpenProfileSection .

Vários clientes ou provedores de serviços podem abrir simultaneamente uma seção de perfil com permissão somente leitura. No entanto, quando uma seção de perfil é aberta com permissão de leitura/gravação, nenhuma outra chamada pode ser feita para abrir a seção, independentemente do tipo de acesso. Se uma seção de perfil estiver aberta com permissão somente leitura, uma chamada subsequente para solicitar permissão de leitura/gravação falhará com MAPI_E_NO_ACCESS. Da mesma forma, se uma seção estiver aberta com permissão de leitura/gravação, uma chamada subsequente para solicitar permissão somente leitura também falhará.

Notas para chamadores

Se você solicitar que OpenProfileSection abra uma seção de perfil inexistente passando MAPI_MODIFY em ulFlags e um MAPIUID desconhecido em lpUID, a seção perfil será criada.

Se você solicitar que OpenProfileSection abra uma seção inexistente com permissão somente leitura, ela retornará MAPI_E_NOT_FOUND.

Referência do MFCMAPI

Para ver códigos de exemplo do MFCMAPI, confira a tabela a seguir.

Arquivo Função Comentário
MAPIProfileFunctions.cpp
OpenProfileSection
O MFCMAPI usa o método IProviderAdmin::OpenProfileSection para abrir uma seção de perfil do perfil atual.

Confira também

IMAPIProp : IUnknown

IProfSect : IMAPIProp

MAPIUID

IProviderAdmin : IUnknown

MFCMAPI como exemplo de código