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. |