This function creates a new user notification or modifies an existing one.
HANDLE CeSetUserNotificationEx( HANDLE hNotification, CE_NOTIFICATION_TRIGGER* pcnt, CE_USER_NOTIFICATION* pceun );
[in] Handle to the notification to overwrite or 0 to add a new notification.
[in] Pointer to a CE_NOTIFICATION_TRIGGER structure that defines what event activates a notification.
[in] Pointer to the CE_USER_NOTIFICATION structure that defines how the system should respond when a notification occurs. For example, the system could launch a dialog box or another application.
Notifications which are time-bound will be deleted once the time passes. For event-based notifications, the notification won't disappear after the event is triggered. The user has to manually delete the notification using CeClearUserNotification.
If the scheduled time lies within the platform-dependent period defined by the accuracy of the real-time clock (RTC), the notification may be scheduled immediately. The accuracy may be retrieved by IOCTL_KLIB_GETALARMRESOLUTION and may range from 1 to 60 seconds. If the platform does not implement IOCTL_KLIB_GETALARMRESOLUTION, the default RTC accuracy of 10 seconds is assumed.
If pcnt->dwType is set to CNT_EVENT, the pceun parameter should be set to NULL. Otherwise the function call will fail and return ERROR_INVALID_PARAMETER.
To delete a notification and release the handle, use the handle returned by CeSetUserNotificationEx in a call to CeClearUserNotification. To overwrite a notification, use the returned handle in another call to CeSetUserNotificationEx.