////////////////////////////////////////////////////////////////////////////////
// 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_