Compartilhar via


SHNotificationUpdate

Windows Mobile SupportedWindows Embedded CE Supported

9/9/2008

Essa função atualiza aspectos de um pendente notificação.

Syntax

LRESULT SHNotificationUpdate(
  DWORD grnumUpdateMask,
  SHNOTIFICATIONDATA* pndNew
);

Parameters

  • grnumUpdateMask
    [no] Bitfield que consiste em um ou mais sinalizadores que especificar quais membros do pndNew São atualizados. A seguinte tabela mostra os valores possíveis sinalizador.

    Sinalizador Descrição

    SHNUM_PRIORITY

    O npPriority membro foi atualizado.

    SHNUM_DURATION

    O csDuration membro foi atualizado.

    SHNUM_ICON

    O hicon membro foi atualizado.

    SHNUM_HTML

    O pszHTML membro foi atualizado.

    SHNUM_TITLE

    O pszTitle membro foi atualizado.

    SHNUM_SOFTKEYS

    O skm Ou rgskn membro foi atualizado.

    SHNUM_TODAYKEY

    O pszTodaySK membro foi atualizado.

    SHNUM_TODAYEXEC

    O pszTodayExec membro foi atualizado.

    SHNUM_SOFTKEYCMDS

    O skm Ou rgskn membro e grfFlags membro foram atualizadas.

    SHNUM_FLAGS

    O grfFlags membro foi atualizado.

  • pndNew
    [no] Ponteiro para um SHNOTIFICATIONDATA estrutura que contém os novos dados ao local para a notificação. No mínimo, o dwId e CLSID Os membros dessa estrutura devem ser especificados para a notificação correta em ordem para que notificação sejam atualizados.

Return Value

Essa função retorna ERROR_SUCCESS quando bem-sucedido.

Para Windows Mobile a seguinte lista mostra os valores de retorno em falha, um Windows Mobile 6 Professional e Windows Mobile 6 Classic.

  • ERROR_INVALID_PARAMETER
  • ERROR_OUTOFMEMORY
  • ERROR_DLL_INIT_FAILED
  • ERROR_NO_MATCH

Para o valor de retorno em falha, para Windows Mobile Windows Mobile 6 Standard o seguinte.

  • ERROR_INVALID_PARAMETER

Para obter uma descrição desses valores de erro, consulte Erros do SISTEMA - ordem alfabética.

Exemplo de código

O seguinte exemplo de código demonstra como usar SHNotificationUpdate.

Observação

Para fazer o seguinte exemplo de código mais fácil de ler, verificação de segurança e manipulação de erro não estão incluídos.Esta exemplo de código não deve ser usado em uma configuração versão a menos que ele foi modificado para incluí-las.

static const GUID CLSID_SHNAPI_Test = { 0x33765136, 0x8cb9, 0x449a, { 0xb0, 0x20, 0x43, 0xed, 0x40, 0xa, 0xb8, 0xfc } };
void SHNotificationExample()
{
    // This code will add an SHNotification notification
    SHNOTIFICATIONDATA sn  = {0};
    SHNOTIFICATIONDATA sn2 = {0};
    sn.cbStruct = sizeof(sn);
    sn.dwID = 1;
    sn.npPriority = SHNP_INFORM;
    sn.csDuration = 15;
    sn.hicon = LoadIcon(g_hInstance, MAKEINTRESOURCE(IDI_SAMPLEICON));
    sn.clsid = CLSID_SHNAPI_Test;
    sn.grfFlags = 0;
    sn.pszTitle = TEXT("Sample Notification");
    sn.pszHTML = TEXT("<html><body>This is <b>sample html</b> in a notification!</body></html>");
    sn.rgskn[0].pszTitle = TEXT("Dismiss");
    sn.rgskn[0].skc.wpCmd = 100;
    //Add the notification to the tray
    SHNotificationAdd(&sn);
    //Put the data from an existing notification into a second SHNOTIFICATIONDATA struct
    sn2.cbStruct = sizeof(sn2);

    //Update the title, HTML, icon, and softkeys of the notification
    sn2.pszTitle = TEXT("Updated - Sample Notification");
    sn2.pszHTML = TEXT("<html><body>This notification has been <b>updated!</b></body></html>");
    sn2.hicon = LoadIcon(g_hInstance, MAKEINTRESOURCE(IDI_SAMPLEICON2));
    sn2.rgskn[0].pszTitle = TEXT("Disabled");
    sn2.rgskn[0].skc.wpCmd = 100;
    sn2.rgskn[0].skc.grfFlags = NOTIF_SOFTKEY_FLAGS_DISABLED;

    //Remove the notification from the tray
    SHNotificationRemove(&CLSID_SHNAPI_Test, 1);
    //Add a new notification that utilizes the MRE functionality
    sn.cbStruct = sizeof(sn);
    sn.dwID = 1;
    sn.npPriority = SHNP_INFORM;
    sn.csDuration = 15;
    sn.hicon = LoadIcon(g_hInstance, MAKEINTRESOURCE(IDI_SAMPLEICON));
    sn.clsid = CLSID_SHNAPI_Test;
    sn.grfFlags = SHNF_STRAIGHTTOTRAY;
    sn.pszTodaySK = TEXT("New Task");
    sn.pszTodayExec = TEXT("\\windows\\tasks.exe");
    //Add the notification to the tray
    SHNotificationAdd(&sn);
    //Remove the notification from the tray
    SHNotificationRemove(&CLSID_SHNAPI_Test, 1);
}

Remarks

O grnumUpdateMask parâmetro contém um ou mais sinalizadores SHNUM_XXXX. Quando chamado SHNotificationUpdate, o chamador Define os bits no grnumUpdateMask e preenche o correspondente os membros pndNew. Os outros membros são ignorados.

Quando chamado SHNotificationUpdate, definir os bits no grnumUpdateMask preencher o correspondente e os membros pndNew. Os outros membros são ignorados.

Se SHNUM_SOFTKEYS for definida, isso significa que estão sendo atualizados softkeys devido a um novo HMENU in a SOFTKEYMENU estrutura apontada pelo skm (e SHNF_HASMENU é definida em grfFlags Em SHNOTIFICATIONDATA estrutura), ou novos títulos in a SOFTKEYNOTIFY estrutura apontada pelo rgskn.

Se SHNUM_SOFTKEYCMDS for definida, isso significa que o comando identificadores e comportamento sinalizadores estão sendo atualizados. Se SHNF_HASMENU for definida no grfFlags Em SHNOTIFICATION estrutura, a prgskc e csk Os membros do SOFTKEYMENU estrutura apontada pelo skm conterá dados novos. Se SHNF_HASMENU não é definida no grfFlags Em SHNOTIFICATION estrutura, a skc Os membros do SOFTKEYNOTIFY estrutura apontada pelo rgskn conterá dados novos.

Atualiza a seguinte pode estar habilitado usando SHNotificationUpdate função.

  • Atualização um leve menu-Based chaves com leve menu-Based nova chaves
  • Atualizar leve básico chaves com leve menu-Based chaves
  • Atualizar leve básico chaves com novo leve básico chaves

Você não é possível atualização menu com leve chaves com leve básico chaves.

Requirements

Header aygshell.h
Library aygshell.lib
Windows Embedded CE Windows Embedded CE 6.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

Shell Functions
SHNotificationRemove
SHNotificationAdd
SHNotificationGetData
SHNOTIFICATIONDATA