windows-nt/Source/XPSP1/NT/shell/osshell/accesory/packager/packager.h
2020-09-26 16:20:57 +08:00

169 lines
3.8 KiB
C

/* packager.h - Constants, types, and exports from the main module.
*/
#include <windows.h>
#define STRSAFE_NO_DEPRECATE
#include "strsafe.h"
#ifndef ARRAYSIZE
#define ARRAYSIZE(x) (sizeof(x)/sizeof(x[0]))
#endif
#ifdef STRICT
# undef STRICT
# define PACKGR_STRICT
#endif
#define SERVERONLY
#include <ole.h>
#ifdef PACKGR_STRICT
# define STRICT
# undef PACKGR_STRICT
#endif
#include "ids.h"
#define HIMETRIC_PER_INCH 2540 // Number of HIMETRIC units per inch
#define DEF_LOGPIXELSX 96 // Default values for pixels per
#define DEF_LOGPIXELSY 96 // logical inch
#define KEYNAMESIZE 300 // Maximum registration key length
#define CCLIENTNAMEMAX 50 // Maximum length of client app name
#define CBCMDLINKMAX 500
#define CBMESSAGEMAX 128
#define CBSTRINGMAX 256 // Maximum lenght of a string in the res.
#define CBSHORTSTRING 20
#define CBFILTERMAX 50 // Max # chars in a filter specification
#define CBPATHMAX 260 // Most chars in a fully qual. filename
#define CharCountOf(a) (sizeof(a) / sizeof(a[0]))
#define CITEMSMAX 100
#define APPEARANCE 0
#define CONTENT 1
#define CCHILDREN 2 // Number of panes which precede
#define OLE_PLAY 0
#define OLE_EDIT 1
#define WM_FIXSCROLL (WM_USER+100)
#define WM_REDRAW (WM_USER+101)
#define WM_READEMBEDDED (WM_USER+102)
#define CHAR_SPACE TEXT(' ')
#define CHAR_QUOTE TEXT('"')
#define SZ_QUOTE TEXT("\"")
typedef enum
{
NOTHING,
CMDLINK,
ICON,
PEMBED,
PICTURE
} PANETYPE;
typedef enum
{
SOP_FILE,
SOP_MEMORY
}
STREAMOP;
typedef struct _APPSTREAM
{
LPOLESTREAMVTBL lpstbl;
INT fh;
} APPSTREAM, *LPAPPSTREAM;
typedef struct _EMBED // embed
{
ATOM aFileName;
ATOM aTempName;
DWORD dwSize;
HANDLE hContents;
HANDLE hdata;
HANDLE hTask;
HANDLE hSvrInst;
BOOL bOleSvrFile;
LPOLECLIENT lpclient; // At activation time we check whether the file
LPOLEOBJECT lpLinkObj; // is a OLE server file. If so, we will create
// a link to it, and activate it in OLE fashion
} EMBED, *LPEMBED;
typedef struct _CML // cml
{
HANDLE hdata;
RECT rc; // HACK: Same location as in PICT
BOOL fCmdIsLink;
CHAR szCommand[CBCMDLINKMAX];
} CML, *LPCML;
typedef struct _IC // ic
{
HANDLE hdata;
HICON hDlgIcon;
CHAR szIconPath[CBPATHMAX];
CHAR szIconText[CBPATHMAX];
INT iDlgIcon;
} IC, *LPIC;
typedef struct _PICT // pict
{
HANDLE hdata;
RECT rc; // HACK: Same location as in CML
LPOLEOBJECT lpObject;
BOOL fNotReady; // TRUE if object creation is not complete
} PICT, *LPPICT;
typedef struct _SAMPSRVR // srvr
{
OLESERVER olesrvr; // Server
HANDLE hsrvr; // Handle to server memory block
LHSERVER lhsrvr; // Registration handle
} PBSRVR, *LPSAMPSRVR;
typedef struct _SAMPDOC // doc
{
OLESERVERDOC oledoc; // Document
HANDLE hdoc; // Handle to document memory block
LHSERVERDOC lhdoc; // Registration handle
ATOM aName; // Document name atom
} PBDOC, *LPSAMPDOC;
typedef struct _SAMPITEM // item
{
OLEOBJECT oleobject; // Object
HANDLE hitem; // Handle to item memory block
LPOLECLIENT lpoleclient;
INT ref; // # of references to document
ATOM aName; // Item name atom
} ITEM, *LPSAMPITEM;
#include "globals.h"
#include "function.h"
#if DBG_PRNT
#define DPRINT(s) OutputDebugString(TEXT(s) TEXT("\n"))
#else
#define DPRINT(s)
#endif