MAPI Rules
9/8/2008
Este amostra de código é nomeado MapiRule. Ele demonstra como implementar um Message Rule Client, que é um objeto COM que pode processo de entrada MAPI mensagens.
Área recurso
APIs relevantes
- Mensagens API (MAPI) API
- IMailRuleClient interface
- IMailRuleClient::ProcessMessage método
- IMailRuleClient::Initialize método
- IMsgStore interface
- IMsgStore::OpenEntry método
- IMessage interface
O uso
Para executar o amostra de código
Navegue até a arquivo de solução (*.sln) e clique duplo-la. Por padrão, a solução arquivos são copiados para o seguinte pastas:
C:\Arquivos de programas\Windows Mobile 6 SDK\Samples\Common\CPP\Win32\MapiRule
Microsoft Visual Studio 2005 inicia e carrega a solução.
Crie a solução (Ctrl+Shift+B).
Implante a solução (F5).
Se você não tiver instalado o SamplePrivDeveloper Certificado, você terá que para que fiquem seus projetos DLL e CAB assinado corretamente.
Para instalar o Certificado de área de trabalho de janelas
Clique em Iniciar > Executar.
Digite o caminho-nome SamplePrivDeveloper.pfx Certificado e clique OK. Por padrão, isso está localizado na seguinte pasta:
C:\Program Files\Windows Mobile 6 SDK\Tools\Security\SDK Development Certificates
Clique duas vezes SamplePrivDeveloper.pfx ícone Certificado. O Assistente de Importação Certificado é exibido.
Clique em Próxima. O caminho Certificado-Nome é preenchido.
Clique em Próxima.
Clique em Próxima (Você não precisa uma senha).
Clique em Próxima. Aceitar as opções usar como padrão; Selecionar automaticamente o armazenamento de certificados com base no tipo Certificado.
9. Clique em Término.
Consulte Dispositivo Móvel Security Model Para obter detalhes adicionais sobre como instalar o SDK certificados para o dispositivo móvel e como usar o Certificado SDK privilegiado para assinar este aplicativo.
Usando o aplicativo
- Depois de instalar o Message Rule Client exemplo, você pode executar-enviando para você mesmo uma mensagem do SMS testar. Enviar uma mensagem do SMS para o dispositivo móvel (use 425-001-0001) com o exemplo que Rule Client instalado que contém o seqüência de caracteres "ZZZ" em qualquer lugar na mensagem. INSTEAD OF o padrão que aparece, você verá um padrão diálogo popup caixa mensagem com o endereço como a legenda e a mensagem próprio como o corpo. Talvez seja necessário fechar a caixa de entrada para ver essa caixa mensagem, como ele pode aparecer embaixo. Observe que a mensagem não aparece na caixa de entrada em todos os. Isso ocorre porque ele foi tratado e descartado pelo cliente de regra de mensagens.
- O dispositivo móvel envie outra mensagem do SMS sem "ZZZ". Isso será manipulado normalmente, com o padrão de entrada diálogo popup do SMS, mostrando a mensagem e a mensagem aparecendo na caixa de entrada.
- Para desativar o Message Rule Client, remover as chaves Registro e reiniciar o dispositivo móvel.
Comentários
Presume-se que o dispositivo móvel é capaz de enviar e receber mensagens do SMS.
Se você não tiver instalado o Certificado SamplePrivDeveloper, você para que sua DLL e CAB projetos estejam precisará assinado corretamente.
Relevância específica é a implementação de IMailRuleClient e seu IMailRuleClient::ProcessMessage método. Este método é chamado pelo Messaging Subsystem quando um compatível mensagem chega transporte a Message Rule Client (o SMS, ActiveSync, POP3). Em ProcessMessage, você pode redirecionar as mensagens, excluir mensagens, analisar as mensagens e enviar personalizado dados para outros aplicativos.
Atualmente, apenas SMS é com suporte como um transporte de Message Rule Clients.
IMailRuleClient::Initialize Também deve ser implementado para definir privilégios acessar armazenar mensagem.
Um cliente de regra de mensagem é um objeto COM (geralmente compactados como uma DLL) que implementa o IMailRuleClient interface. Para trabalho corretamente, ele deve ser registrado em dois locais:
Registro padrão COM
HKEY_CLASSES_ROOT\CLSID\<clsid>
Caixa de Entrada MAPI
HKEY_LOCAL_MACHINE\Software\Microsoft\Inbox\Svc\SMS\Rules\<clsid>
Onde
< CLSID >
Representa classe do objeto COM o ID GUID.
Esta amostra de código usa métodos propriedade mensagem MAPI para aspecto para o seqüência de caracteres "ZZZ" Em de entrada mensagens do SMS. Se encontrado, ele exibe o endereço remetente e mensagem em um personalizado caixa mensagem instead of a de entrada usual caixa de diálogo do SMS. Ele exclui a mensagem de armazenar a mensagem, impedindo que ele aparecendo na caixa de entrada.
Mensagens que não contenham "ZZZ" será processado normalmente.
Ambientes de Desenvolvimento
SDK: Windows Mobile 6 Professional SDK e Windows Mobile 6 Standard SDK
Ambiente de desenvolvimento: Visual Studio 2005.
ActiveSync: Versão 4.5.