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

160 lines
4.4 KiB
C

#ifndef OFFLINE_H
#define OFFLINE_H
typedef enum AGENT_PRIORITY {
AGENT_PRIORITY_NORMAL = 2
} AGENT_PRIORITY;
typedef enum {_INIT_FROM_URL, _INIT_FROM_INTSHCUT, _INIT_FROM_CHANNEL} INIT_SRC_ENUM;
#define MAX_NAME_QUICKLINK MAX_PATH
#define MAX_NAME MAX_NAME_QUICKLINK
#define MAX_URL INTERNET_MAX_URL_LENGTH
#define MAX_USERNAME 127
#define MAX_PASSWORD 63
#define MAX_STATUS 127
#define MAX_PROP_PAGES 10
#define MAX_WC_AGENT_PAGES 2
typedef struct {
int templateRCID;
DLGPROC dlgProc;
} PageType, * LPPageType;
typedef const PageType *CLPPageType;
// PIDL format for this folder...
typedef struct OOEntry
{
DWORD dwSize;
DWORD dwFlags;
CFileTime m_LastUpdated;
CFileTime m_NextUpdate;
LONG m_SizeLimit;
LONG m_ActualSize;
LONG m_RecurseLevels;
LONG m_RecurseFlags;
AGENT_PRIORITY m_Priority;
BOOL bDesktop;
BOOL bChannel;
BOOL bMail;
BOOL bGleam;
BOOL bChangesOnly;
BOOL bNeedPassword;
TASK_TRIGGER m_Trigger;
DWORD fChannelFlags;
SUBSCRIPTIONCOOKIE m_Cookie;
SUBSCRIPTIONCOOKIE groupCookie;
DWORD grfTaskTrigger;
CLSID clsidDest;
SCODE status;
LPTSTR username;
LPTSTR password;
LPTSTR m_URL;
LPTSTR m_Name;
LPTSTR statusStr;
} OOEntry;
typedef UNALIGNED OOEntry * POOEntry;
#define PSF_NO_SCHEDULED_UPDATES 0x00000001
#define PSF_NO_EDITING_SCHEDULES 0x00000002
#define PSF_NO_AUTO_NAME_SCHEDULE 0x00000004
#define PSF_NO_CHECK_SCHED_CONFLICT 0x00000008
#define PSF_IS_ALREADY_SUBSCRIBED 0x00000010
typedef struct
{
DWORD dwFlags;
CFileTime m_LastUpdated;
CFileTime m_NextUpdate;
LONG m_SizeLimit;
LONG m_ActualSize;
LONG m_RecurseLevels;
LONG m_RecurseFlags;
AGENT_PRIORITY m_Priority;
BOOL bDesktop;
BOOL bChannel;
BOOL bMail;
BOOL bGleam;
BOOL bChangesOnly;
BOOL bNeedPassword;
TASK_TRIGGER m_Trigger;
DWORD fChannelFlags;
SUBSCRIPTIONCOOKIE m_Cookie;
SUBSCRIPTIONCOOKIE groupCookie;
DWORD grfTaskTrigger;
CLSID clsidDest;
SCODE status;
TCHAR username[MAX_USERNAME + 1];
TCHAR password[MAX_PASSWORD + 1];
TCHAR m_URL[MAX_URL + 1];
TCHAR m_Name[MAX_NAME + 1];
TCHAR statusStr[MAX_STATUS +1];
DWORD m_dwPropSheetFlags; // used internally by propsheets and wizard
HWND hwndNewSchedDlg;
} OOEBuf, * POOEBuf;
typedef struct
{
USHORT cb;
USHORT usSign;
OOEntry ooe; // Should point to the place right after itself.
} MYPIDL;
typedef UNALIGNED MYPIDL *LPMYPIDL;
typedef struct _ColInfoType {
short int iCol;
short int ids; // Id of string for title
short int cchCol; // Number of characters wide to make column
short int iFmt; // The format of the column;
} ColInfoType;
enum {
ICOLC_SHORTNAME = 0,
ICOLC_LAST,
ICOLC_STATUS,
ICOLC_URL,
ICOLC_ACTUALSIZE
};
#define MYPIDL_MAGIC 0x7405
#define RETURN_ON_FAILURE(hr) if (FAILED(hr)) return hr
#define IS_VALID_MYPIDL(pidl) ((((LPMYPIDL)pidl)->cb > sizeof(MYPIDL)) && \
(((LPMYPIDL)pidl)->usSign == (USHORT)MYPIDL_MAGIC))
#define ARRAYSIZE(a) (sizeof(a)/sizeof(a[0]))
#define NAME(pooe) (LPTSTR)((LPBYTE)(pooe) + (DWORD_PTR)((pooe)->m_Name))
#define URL(pooe) (LPTSTR)((LPBYTE)(pooe) + (DWORD_PTR)((pooe)->m_URL))
#define UNAME(pooe) (LPTSTR)((LPBYTE)(pooe) + (DWORD_PTR)((pooe)->username))
#define PASSWD(pooe) (LPTSTR)((LPBYTE)(pooe) + (DWORD_PTR)((pooe)->password))
#define STATUS(pooe) (LPTSTR)((LPBYTE)(pooe) + (DWORD_PTR)((pooe)->statusStr))
#ifdef __cplusplus
extern "C" {
#endif
extern HINSTANCE g_hInst;
extern const CHAR c_szOpen[];
extern const CHAR c_szUpdate[];
extern const CHAR c_szDelete[];
extern const CHAR c_szProperties[];
extern const CHAR c_szCopy[];
extern const CLSID CLSID_OfflineFolder;
extern const CLSID CLSID_WebcrawlHelper;
extern const CLSID IID_IOfflineObject;
#ifdef __cplusplus
};
#endif
#include "wizards.h"
#include "utils.h" // NOTE: must come at end to get all the definitions
#endif // OFFLINE_H