Compartilhar via


SHNotificationGetData

Windows Mobile SupportedWindows Embedded CE Supported

9/9/2008

Essa função obtém os dados para uma notificação. Fique disponível para consultar voltar os dados para outro aplicativo.

Syntax

LRESULT SHNotificationGetData(
  const CLSID * pclsid,
  DWORD dwID,
  SHNOTIFICATIONDATA* pndBuffer
);

Parameters

  • pclsid
    [no] Ponteiro para o identificação de classe da notificação.
  • dwID
    [no] Especifica o identificador exclusivo para a notificação.
  • pndBuffer
    [out] Ponteiro para um SHNOTIFICATIONDATA reserva para receber dados de notificação.

Return Value

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

Remarks

Para todas as plataformas

Após bem-sucedido retornar desta função, pndBuffer-> pszHTML e pndBuffer-> pszTitle são de propriedade e deve ser liberada pelo chamador.

Para Mobile Windows

SHNotificationGetData não pode ser usado para notificações sem um CLSID. ERROR_INVALID_PARAMETER é retornado quando uma NULL CLSID é fornecido. Para criar uma notificação sem classes, use um CLSID de {0000-0000-...-00000000}.

SHNotificationGetData (& CLSID_x, dwID, NULL) não retorna se uma notificação específica está presente ou não. O valor de retorno é 0x491.

Exemplo de código

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

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;
    SHNotificationUpdate(SHNUM_TITLE | SHNUM_HTML | SHNUM_ICON | SHNUM_SOFTKEYCMDS | SHNUM_SOFTKEYS, &sn2);
    //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);
}

Requirements

Header aygshell.h
Library aygshell.lib
Windows Embedded CE Windows CE 3.0 and later
Windows Mobile Pocket PC 2002 and later