windows-nt/Source/XPSP1/NT/com/winole/samples/clidemo/global.h
2020-09-26 16:20:57 +08:00

109 lines
4.3 KiB
C

/*
* global.h
*
* Created by Microsoft Corporation.
* (c) Copyright Microsoft Corp. 1990 - 1992 All Rights Reserved
*/
//*** CONSTANTS ***
#define PROTOCOL_STRLEN 15 //* protocol name string size
#define CFILTERMAX 200 //* Max # filters
//* Max # chars/filter
#define CBFILTERMAX (100 * CFILTERMAX)
#define CBPATHMAX 250 //* max qualified file name
#define CBOBJNAMEMAX 14 //* maximum length of object name
#define CBVERBTEXTMAX 30 //* maximum length of verb text
#define CBVERBNUMBMAX 8 //* maximum number of verbs
#define OBJECT_LINK_MAX 256*3 //* maximum size of object link data
#define CDIGITSMAX 5
#define KEYNAMESIZE 300 //* Maximum registration key length
#define RETRY 3
//* protocol name strings
#define STDFILEEDITING ((LPSTR)"StdFileEditing")
#define STATICP ((LPSTR)"Static")
//* object name prefixes
#define OBJPREFIX ((LPSTR)"CliDemo #")
#define OBJCLONE ((LPSTR)"CliDemo1#")
#define OBJTEMP ((LPSTR)"CliDemo2#")
#define DOC_CLEAN 0 //* Dirty() methods
#define DOC_DIRTY 1
#define DOC_UNDIRTY 2
#define DOC_QUERY 3
#define OLE_OBJ_RELEASE FALSE //* object deletion type
#define OLE_OBJ_DELETE TRUE
#define WM_ERROR WM_USER + 1 //* user defined messages
#define WM_INIT WM_USER + 2
#define WM_DELETE WM_USER + 3
#define WM_RETRY WM_USER + 4
#define WM_CHANGE WM_USER + 5
#define RD_CANCEL 0x00000001
#define RD_RETRY 0x00000002
//*** TYPES ***
typedef struct _APPSTREAM FAR *LPAPPSTREAM;
typedef struct _APPSTREAM {
OLESTREAM olestream;
INT fh;
} APPSTREAM;
typedef struct _APPITEM *APPITEMPTR;
typedef struct _APPITEM { //* Application item
OLECLIENT oleclient;
HWND hwnd;
LPOLEOBJECT lpObject; //* OLE object pointers
LPOLEOBJECT lpObjectUndo; //* undo object
LONG otObject; //* OLE object type
LONG otObjectUndo;
OLEOPT_UPDATE uoObject; //* OLE object update option
OLEOPT_UPDATE uoObjectUndo; //* link name atom
ATOM aLinkName; //* Save the link's document name
ATOM aLinkUndo; //* Save the link's document name
LPSTR lpLinkData; //* pointer to link data
BOOL fVisible; //* TRUE: item is to be displayed
BOOL fOpen; //* server open? --for undo objects
BOOL fRetry; //* retry flag for busy servers
BOOL fNew;
BOOL fServerChangedBounds;
RECT rect; //* bounding rectangle
LHCLIENTDOC lhcDoc; //* client document handle
ATOM aServer;
} APPITEM;
typedef struct _RETRY *RETRYPTR;
typedef struct _RETRY { //* Application item
LPSTR lpserver;
BOOL bCancel;
APPITEMPTR paItem;
} RETRYSTRUCT;
//*** GLOBALS ***
extern OLECLIPFORMAT vcfLink; //* ObjectLink clipboard format
extern OLECLIPFORMAT vcfNative; //* Native clipboard format
extern OLECLIPFORMAT vcfOwnerLink; //* OwnerLink clipboard format
extern HANDLE hInst; //* instance handle
extern HWND hwndFrame; //* main window handle
extern HANDLE hAccTable; //* accelerator table
extern HWND hwndProp; //* link properties dialog
extern HWND hRetry; //* retry dialog box handle
extern INT cOleWait; //* wait for asyncc commands
extern INT iObjects; //* object count
extern INT iObjectNumber; //* unique name id
extern CHAR szItemClass[]; //* item class name
extern CHAR szDefExtension[]; //* default file extension
extern CHAR szAppName[]; //* application name
extern BOOL fLoadFile; //* load file flag
extern CHAR szFileName[]; //* open file name
extern FARPROC lpfnTimerProc; //* pointer to timer callback function