mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
112 lines
2.4 KiB
112 lines
2.4 KiB
//+---------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation, 1992 - 1993.
|
|
//
|
|
// File: stgstm.hxx
|
|
//
|
|
// Contents: Common header file for debug and global definitions
|
|
//
|
|
// History: 29-Jun-93 DrewB Created
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
#ifndef __STGSTM_HXX__
|
|
#define __STGSTM_HXX__
|
|
|
|
#define CONTENTS_STREAM L"CONTENTS"
|
|
|
|
#define aMsg(s) ((char *)(s) != NULL)
|
|
#define ssResult(sc) ((HRESULT)(sc))
|
|
|
|
#if !defined(ErrJmp)
|
|
#if DBG == 1
|
|
|
|
|
|
#define ErrJmp(comp, label, errval, var) \
|
|
{\
|
|
var = errval;\
|
|
comp##DebugOut((DEB_IERROR, "Error %lX at %s:%d\n",\
|
|
(unsigned long)var, __FILE__, __LINE__));\
|
|
goto label;\
|
|
}
|
|
|
|
#else
|
|
|
|
#define ErrJmp(comp, label, errval, var) \
|
|
{\
|
|
var = errval;\
|
|
goto label;\
|
|
}
|
|
|
|
#endif
|
|
#endif
|
|
|
|
#define ssErr(l, e) ErrJmp(ss, l, e, sc)
|
|
#define ssChkTo(l, e) if (FAILED(sc = (e))) ssErr(l, sc) else 1
|
|
#define ssHChkTo(l, e) if (FAILED(sc = GetScode(e))) ssErr(l, sc) else 1
|
|
#define ssChk(e) ssChkTo(EH_Err, e)
|
|
#define ssHChk(e) ssHChkTo(EH_Err, e)
|
|
#define ssMemTo(l, e) \
|
|
if ((e) == NULL) ssErr(l, STG_E_INSUFFICIENTMEMORY) else 1
|
|
#define ssMem(e) ssMemTo(EH_Err, e)
|
|
|
|
#if DBG == 1
|
|
DECLARE_DEBUG(ss);
|
|
#endif
|
|
|
|
#if DBG == 1
|
|
|
|
#define ssDebugOut(args) ssInlineDebugOut args
|
|
|
|
#define ssAssert(e) Win4Assert(e)
|
|
#define ssAssSucc(e) Win4Assert(SUCCEEDED(e))
|
|
#define ssHAssSucc(e) Win4Assert(SUCCEEDED(e))
|
|
|
|
#define ssVerify(e) Win4Assert(e)
|
|
#define ssVerSucc(e) Win4Assert(SUCCEEDED(e))
|
|
#define ssHVerSucc(e) Win4Assert(SUCCEEDED(e))
|
|
|
|
#else
|
|
|
|
#define ssDebugOut(args)
|
|
|
|
#define ssAssert(e)
|
|
#define ssAssSucc(e)
|
|
#define ssHAssSucc(e)
|
|
|
|
#define ssVerify(e) (e)
|
|
#define ssVerSucc(e) (e)
|
|
#define ssHVerSucc(e) (e)
|
|
|
|
#endif
|
|
|
|
// Generic flags for various routines
|
|
enum CREATEOPEN
|
|
{
|
|
CO_CREATE,
|
|
CO_OPEN
|
|
};
|
|
|
|
enum FILEDIR
|
|
{
|
|
FD_STORAGE = 0, // STGFMT_DOCUMENT
|
|
FD_DIR = 1, // STGFMT_DIRECTORY
|
|
FD_CATALOG = 2, // STGFMT_CATALOG
|
|
FD_FILE = 3, // STGFMT_FILE
|
|
FD_DEFAULT = 4, // STGFMT_ANY
|
|
FD_DOCFILE, // STGFMT_DOCFILE
|
|
FD_OFSSTORAGE, // STGFMT_STORAGE
|
|
FD_JUNCTION = 7, // STGFMT_JUNCTION
|
|
FD_STREAM // STGTY_STREAM (in concept)
|
|
};
|
|
|
|
// BUGBUG - Remove when available
|
|
STDAPI CoMemAlloc(DWORD cb, void **ppv);
|
|
inline HRESULT CoMemFree(void *pv)
|
|
{
|
|
CoTaskMemFree ( pv );
|
|
return S_OK;
|
|
};
|
|
|
|
#endif // #ifndef __STGSTM_HXX__
|