Compartilhar via


IMsgServiceAdmin::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

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 resulta em um ponteiro para a interface padrão que está sendo retornada no parâmetro lppProfSect . A interface padrão de uma 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 a ela poderá gerar um erro.

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.

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 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 IMsgServiceAdmin::OpenProfileSection abre uma seção de perfil, um 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.

OpenProfileSection não pode ser usado para abrir seções de perfil de propriedade de provedores de serviços individuais, a menos que MAPI_FORCE_ACCESS seja usado.

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.

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 IMsgServiceAdmin::OpenProfileSection para abrir uma seção de perfil.

Confira também

IMAPIProp : IUnknown

IMAPISession::OpenProfileSection

IProfSect : IMAPIProp

MAPIUID

IMsgServiceAdmin : IUnknown

MFCMAPI como exemplo de código