Windows NT 4.0 source code leak
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

//+---------------------------------------------------------------------------
//
// 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__