Notification Window Messages
9/8/2008
Essas mensagens são enviadas para o manipulador de janela (HWND) passado para o método IPOutlookApp::Logon. Eles são semelhantes de DB_CEOID_ Mensagens de CEDB. As mensagens são enviadas somente para bancos de dados (por exemplo, compromissos, contatos e tarefas) que você se inscreveu. Notificações são enviadas para ambas as alterações feitas pelo Mobile Outlook (o chamador) via o _LOCAL Mensagens e para que as alterações feitas por outros processos via o _REMOTE As mensagens.
Você deve inscrever(-se) para notificações por configuração de PIMPR_FOLDERNOTIFICATIONS propriedade sobre a pasta desejar, com os sinalizadores que desejar. Os valores possíveis sinalizador são PIMFOLDERNOTIFICATION_LOCAL e MapVirtualKey. PIMFOLDERNOTIFICATION_REMOTE. Os sinalizadores são independentes, e você pode definir o valor como 0 para notificações parar. Para múltiplo pastas do mesmo tipo, a última configuração para essa propriedade de qualquer uma dessas pastas, serão usadas para todas essas pastas.
A seguinte tabela lista os sinalizadores para receber notificações.
Notificação | Value | Description |
---|---|---|
PIMFOLDERNOTIFICATION_LOCAL |
0 x 01 |
Notificação de alterações desse processo. |
PIMFOLDERNOTIFICATION_REMOTE |
0 x 02 |
Notificação de alterações de outros processos. |
PIMFOLDERNOTIFICATION_ALL |
0x03 |
Notificação de alterações de todos os processos. (PIMFOLDERNOTIFICATION_REMOTE | PIMFOLDERNOTIFICATION_LOCAL) |
A seguinte tabela lista as mensagens janela notificação de alterações no local e remoto processos.
Notificação | Value | Description |
---|---|---|
PIM_ITEM_CREATED_LOCAL |
WM_APP + 0 x 100 |
Gerenciador de informações pessoais item criado localmente. |
PIM_ITEM_DELETED_LOCAL |
WM_APP + 0x101 |
Gerenciador de informações pessoais item excluído localmente. |
PIM_ITEM_CHANGED_LOCAL |
WM_APP + 0 x 102 |
Gerenciador de informações pessoais item alterada localmente. |
PIM_ITEM_CREATED_REMOTE |
WM_APP + 0x105 |
Gerenciador de informações pessoais item criado remotamente. |
PIM_ITEM_DELETED_REMOTE |
WM_APP + 0x106 |
Gerenciador de informações pessoais item excluído remotamente. |
PIM_ITEM_CHANGED_REMOTE |
WM_APP + 0x107 |
Gerenciador de informações pessoais item alterado remotamente. |
Observação
wParam = Item OID, lParam = A pasta que contém o item.
Código Exemplo 1
O seguinte exemplo de código demonstra como inscrever(-se) para os diferentes tipos de notificações.
Observação
Para tornar o exemplo de código mais fácil para ler, verificação de segurança e manipulação de erro não estão incluídos.This code example should not be used in a release configuration unless it has been modified to include them.
void NotificationsExample()
{
HRESULT hr = E_FAIL;
IPOutlookApp2 *pPoom = NULL;
// Initialize COM for using the Pocket Outlook Object Model (POOM).
CoInitializeEx(NULL, 0);
// Get a reference to the POOM (Outlook Mobile) application object.
hr = CoCreateInstance(CLSID_Application, NULL, CLSCTX_INPROC_SERVER, IID_IPOutlookApp2, (LPVOID*)&pPoom);
// Logon to a POOM session. Pass-in a valid handle to the POOM session parent window so the notifications can be processed from it's wndproc. Outlook Mobile uses this handle for each PIM item's Display call, as well as for the infrared transfer dialog.
hr = pPoom->Logon((long)hWnd);
// CASE 1: Subscribe to local and remote appointment notifications.
hr = SubscribeToNotifications(pPoom, olFolderCalendar, PIMFOLDERNOTIFICATION_ALL);
// CASE 2: Subscribe to remote contact notifications. I.e., changes made in another IPOutlookApp instance.
hr = SubscribeToNotifications(pPoom, olFolderContacts, PIMFOLDERNOTIFICATION_REMOTE);
// CASE 3: Substribe for local task notifications. I.e., changes made in this IPOutlookApp instance.
hr = SubscribeToNotifications(pPoom, olFolderTasks, PIMFOLDERNOTIFICATION_LOCAL);
// Insert your code for creating a dialog window, here.
return;
}
Code Example 2
O seguinte exemplo de código demonstra como inscrever(-se) para notificações com base no tipo pasta.
Observação
Para tornar o exemplo de código mais fácil para ler, verificação de segurança e manipulação de erro não estão incluídos.This code example should not be used in a release configuration unless it has been modified to include them.
HRESULT SubscribeToNotifications(IPOutlookApp2 *pPoom, OlDefaultFolders olFolder, uint uiNotificationsType)
{
HRESULT hr = 0;
IFolder *pFolder = NULL;
IItem *pItem = NULL;
CEPROPVAL propval = {0};
// Get the folder for the item type.
hr = pPoom->GetDefaultFolder(olFolder, &pFolder);
// Get the IItem interface for the IFolder.
hr = pFolder->QueryInterface(IID_IItem, (LPVOID*)&pItem);
// Set the folder's properties.
propval.propid = PIMPR_FOLDERNOTIFICATIONS;
propval.val.ulVal = uiNotificationsType;
hr = pItem->SetProps(0, 1, &propval);
// Release resources.
pItem->Release();
pFolder->Release();
return hr;
}
Remarks
Para receber notificações, IPOutlookApp::Logon deve ser chamado a partir segmento de UI principal do seu aplicativo.
Se IPOutlookApp::Logon é chamado de um secundário segmento, que segmento deve implementar um executar um loop distribuir mensagem.
Requirements
Header | pimstore.h |
Library | Pimstore.lib |
Windows Mobile | Pocket PC for Windows Mobile Version 5.0 and later, Smartphone for Windows Mobile Version 5.0 and later |
See Also
Reference
Pocket Outlook Object Model Notifications
IPOutlookApp::Logon
Notification Flags