OLEDBDDM.H

//////////////////////////////////////////////////////////////////////////////// 
// oledbddm.h
//
// Copyright (C) 1987-1997 By Microsoft Corp. All rights reserved.
// Copyright (C) 1997 Metawise Computing, Inc. All rights reserved.
//
////////////////////////////////////////////////////////////////////////////////


#ifndef _OLEDBDDM_H_
#define _OLEDBDDM_H_

////////////////////////////////////////////////////////////////////////////////
// Indicators of function parameter directions (input or output)
#ifndef IN
#define IN
#endif

#ifndef OUT
#define OUT
#endif

#ifndef INOUT
#define INOUT
#endif

#ifndef DONOTHING
#define DONOTHING
#endif


////////////////////////////////////////////////////////////////////////////////
// Macros:

#define NUMELEM(X)(sizeof(X) / sizeof(*(X)))

#ifndef VERIFY_POINTER
#define VERIFY_POINTER(PTR)\
if (0 == (PTR))\
return ResultFromScode(E_POINTER);\
else
#endif

#ifndef DELETE_POINTER
#define DELETE_POINTER(PTR)\
if (PTR)\
{\
delete (PTR);\
(PTR) = 0;\
} else
#endif

#ifndef DELETE_ARRAY
#define DELETE_ARRAY(PTR)\
if (PTR)\
{\
delete [] (PTR);\
(PTR) = 0;\
} else
#endif

#ifndef RELEASE_INTERFACE
#define RELEASE_INTERFACE(IFP)\
if (IFP)\
{\
(IFP)->Release ();\
(IFP) = 0;\
} else
#endif

#ifndef FREE_TASKMEM
#define FREE_TASKMEM(MEM)\
if (MEM)\
{\
CoTaskMemFree (MEM);\
(MEM) = 0;\
} else
#endif

// failed or warning
#ifndef MW_FAILED
#define MW_FAILED(RC)((RC) < 0)
#endif

// succeeded (without warning)
#ifndef MW_SUCCEEDED
#define MW_SUCCEEDED(RC)(0 <= (RC) && (RC) < 100)
#endif


////////////////////////////////////////////////////////////////////////////////
// System:

#include <assert.h>

////////////////////////////////////////////////////////////////////////////////
// Utils:

#ifndef __AFXWIN_H__

#include "cstring.h"
#include "array.h"
#include "hash.h"
#include "mwwin.h"
#include "registry.h"

#endif

#endif // _OLEDBDDM_H_