Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a: Outlook 2013 | Outlook 2016
Objetos de controle ou objetos que dão suporte à interface IMAPIControl : IUnknown são implementados por provedores para adicionar funcionalidade a um botão que aparece em uma caixa de diálogo MAPI. Objetos de controle só podem ser implementados para botões.
O IMAPIControl tem três métodos: GetLastError, GetState e Activate.
O MAPI chama GetState para determinar se o botão deve ou não ser desabilitado. GetState é chamado nas seguintes situações:
Quando a caixa de diálogo na qual o botão aparece é exibida pela primeira vez.
Quando uma notificação de tabela de exibição é emitida para o botão.
Defina o conteúdo do parâmetro lpulState como MAPI_DISABLED se o usuário não puder interagir com o botão e MAPI_ENABLED se o usuário puder interagir.
Quando o usuário clica no botão, MAPI chama Ativar. A opção Ativar executa a tarefa que foi associada ao botão. Essa tarefa pode ser qualquer coisa apropriada para seu provedor, como exibir uma caixa de diálogo ou atualizar uma propriedade. Se a tarefa não for bem-sucedida porque o usuário a cancelou, retorne MAPI_E_USER_CANCEL. Para outras causas de falha, retorne o valor de erro apropriado.
Se a tarefa for bem-sucedida e estiver vinculada a uma alteração de propriedade que se reflete em outro controle na caixa de diálogo, chame ITableData::HrNotify. HrNotify é chamado para emitir uma notificação de tabela de exibição com a propriedade PR_CONTROL_ID (PidTagControlId) da propriedade alterada na estrutura TABLE_NOTIFICATION . Não coloque o novo valor do imóvel na estrutura; em vez disso, retorne-o quando IMAPIProp::GetProps for chamado. Embora normalmente uma notificação de tabela de exibição não possa ser usada para desabilitar ou habilitar um controle, ela pode ser usada com um botão. O MAPI atualizará o controle alterado para responder à notificação.
O MAPI chama o método GetLastError do controle quando Activate retorna um erro diferente de MAPI_E_USER_CANCEL. Se GetLastError colocar informações de erro estendidas na estrutura MAPIERROR que ele retorna no conteúdo de the_lppMAPIError_ parâmetro, MAPI as exibirá para o usuário.