109 lines
4.3 KiB
C
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
|