windows-nt/Source/XPSP1/NT/shell/ext/webcheck/notfcvt.h
2020-09-26 16:20:57 +08:00

176 lines
4.3 KiB
C

#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