|
|
#ifndef _notfcvt_h
#define _notfcvt_h
typedef enum { PT_NOT_INITIALIZED = 0 //
,PT_NORMAL = 1 ,PT_WITHREPLY ,PT_REPORT_TO_SENDER ,PT_REPORT_TO_DEST ,PT_INVALID ,PT_GROUPLEADER ,PT_GROUPMEMBER
} PACKAGE_TYPE;
// package flags inidicate what the package is doing and is
typedef enum { PF_READY = 0x00000001 ,PF_RUNNING = 0x00000002 ,PF_WAITING = 0x00000004 ,PF_REVOKED = 0x00000008 ,PF_SUSPENDED = 0x00000010 ,PF_ABORTED = 0x00000020
// the pacakge was delivered cross process
,PF_CROSSPROCESS = 0x00010000 ,PF_SCHEDULED = 0x00020000 ,PF_DELIVERED = 0x00040000 ,PF_DISPATCHED = 0x00080000 // idle flags
,PF_WAITING_USER_IDLE= 0x00100000 } _PACKAGE_FLAGS; typedef DWORD PACKAGE_FLAGS;
typedef enum _tagPACKAGE_CONTENT_ENUM { PC_EMPTY = 0x00000000 ,PC_CLSIDSENDER = 0x00000001 ,PC_CLSIDDEST = 0x00000002 ,PC_GROUPCOOKIE = 0x00000004 ,PC_RUNCOOKIE = 0x00000008 ,PC_TASKTRIGGER = 0x00000010 ,PC_TASKDATA = 0x00000020 ,PC_BASECOOKIE = 0x00000040
,PC_CLSID = 0x00000100 ,PC_SINK = 0x00000200 ,PC_THREADID = 0x00000400 } PACKAGE_CONTENT_ENUM;
typedef DWORD PACKAGE_CONTENT;
struct NOTIFICATIONITEMEXTRA { DELIVERMODE deliverMode; FILETIME dateNextRun; // Ignore
FILETIME datePrevRun; NOTIFICATIONCOOKIE RunningCookie; // Ignore
NOTIFICATIONCOOKIE BaseCookie; // Ignore
PACKAGE_TYPE PackageType; PACKAGE_FLAGS PackageFlags; PACKAGE_CONTENT PackageContent; DWORD dwThreadIdDestPort; // Ignore
HWND hWndDestPort; // Ignore
};
typedef struct _tagSaveSTATPROPMAP { DWORD cbSize; DWORD cbStrLen; DWORD dwFlags; DWORD cbVarSizeExtra; } SaveSTATPROPMAP;
#ifndef __msnotify_h__
EXTERN_C const GUID NOTFCOOKIE_SCHEDULE_GROUP_DAILY; EXTERN_C const GUID NOTFCOOKIE_SCHEDULE_GROUP_WEEKLY; EXTERN_C const GUID NOTFCOOKIE_SCHEDULE_GROUP_MONTHLY; EXTERN_C const GUID NOTFCOOKIE_SCHEDULE_GROUP_MANUAL;
typedef GUID NOTIFICATIONTYPE; typedef GUID NOTIFICATIONCOOKIE; typedef DWORD NOTIFICATIONFLAGS;
typedef enum _tagDELIVERMODE { DM_DELIVER_PREFERED = 0x1, DM_DELIVER_DELAYED = 0x2, DM_DELIVER_LAST_DELAYED = 0x4, DM_ONLY_IF_RUNNING = 0x20, DM_THROTTLE_MODE = 0x80, DM_NEED_COMPLETIONREPORT = 0x100, DM_NEED_PROGRESSREPORT = 0x200, DM_DELIVER_DEFAULT_THREAD = 0x400, DM_DELIVER_DEFAULT_PROCESS = 0x800 } _DELIVERMODE;
typedef DWORD DELIVERMODE;
typedef struct _tagTASKDATA { ULONG cbSize; DWORD dwReserved; DWORD dwTaskFlags; DWORD dwPriority; DWORD dwDuration; DWORD nParallelTasks; } TASK_DATA;
typedef struct _tagTASKDATA __RPC_FAR *PTASK_DATA;
typedef void *LPNOTIFICATION; typedef struct _tagNotificationItem { ULONG cbSize; LPNOTIFICATION pNotification; NOTIFICATIONTYPE NotificationType; NOTIFICATIONFLAGS NotificationFlags; DELIVERMODE DeliverMode; NOTIFICATIONCOOKIE NotificationCookie; TASK_TRIGGER TaskTrigger; TASK_DATA TaskData; NOTIFICATIONCOOKIE groupCookie; CLSID clsidSender; CLSID clsidDest; FILETIME dateLastRun; FILETIME dateNextRun; DWORD dwNotificationState; } NOTIFICATIONITEM;
typedef struct _tagNotificationItem __RPC_FAR *PNOTIFICATIONITEM;
typedef DWORD GROUPMODE;
#endif // __msnotify_h__
typedef enum { GS_Created = 0 ,GS_Running = 1 ,GS_Initialized = 2
} GROUP_STATE;
typedef enum { GT_NORMAL = 0x00000001 ,GT_STATIC = 0x00000002
} _GROUP_TYPE;
typedef DWORD GROUP_TYPE;
typedef struct _tagSCHEDULEGROUPITEM { ULONG cbSize; ULONG cElements; // the # of packages in the group
NOTIFICATIONCOOKIE GroupCookie; GROUPMODE grfGroupMode; GROUP_STATE grpState; TASK_TRIGGER TaskTrigger; TASK_DATA TaskData; GROUP_TYPE GroupType; GROUPINFO GroupInfo; } SCHEDULEGROUPITEM, *PSCHEDULEGROUPITEM;
HRESULT ConvertIE4Subscriptions();
#endif // _notfcvt_h
|