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