windows-nt/Source/XPSP1/NT/ds/adsi/router/oledbutl.hxx
2020-09-26 16:20:57 +08:00

104 lines
2.7 KiB
C++

//-----------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1992 - 1995.
//
// File: oledbutl.hxx
//
// Contents: Utility object versions for ADSI row providers
//
// Functions:
//
// Notes:
//
//
// History: 07/10/96 | RenatoB | Created, lifted most from EricJ code
//-----------------------------------------------------------------------------
#ifndef _OLEDBUTL_H_
#define _OLEDBUTL_H_
class CRowProvider;
class CColumnsInfo;
class CSessionObject;
class CCommandObject;
#ifndef NUMELEM
#define NUMELEM(x) (sizeof(x)/sizeof(*x))
#endif
// Macros to enable catching exceptions and returning E_UNEXPECTED
// for retail versions. Debug versions don't catch exceptions in
// order to generate better stack traces.
#if DBG == 1
#define TRYBLOCK
#define CATCHBLOCKRETURN
#define CATCHBLOCKBAIL(hr)
#else
#define TRYBLOCK try {
#define CATCHBLOCKRETURN } \
catch (...) \
{ ADsAssert(false); RRETURN(E_UNEXPECTED); }
#define CATCHBLOCKBAIL(hr) } \
catch (...) \
{ ADsAssert(false); BAIL_ON_FAILURE(hr = E_UNEXPECTED); }
#endif
//-----------------------------------------------------------------------------
// Functions
//-----------------------------------------------------------------------------
HRESULT
CpAccessors2Rowset(
IAccessor *pAccessorCommand, //@parm IN |Command's IAccessor
IAccessor *pAccessorRowset, //@parm IN |Rowset's IAccessor
ULONG cAccessors, //@parm IN |Count,Commnands accessors
HACCESSOR rgAccessors[], //@parm IN |Array,Command's accessors
CImpIAccessor *pCAccessor // accessor object of rowset
);
HRESULT
GetDSInterface(
LPWSTR lpszPath,
CCredentials& Credentials,
REFIID iid,
void FAR * FAR * ppObject
);
HRESULT
GetCredentialsFromIAuthenticate(IAuthenticate *pAuthenticate,
CCredentials& refCredentials);
typedef struct _maptype_struct_ {
WORD wType;
ULONG ulSize;
}MAPTYPE_STRUCT;
extern MAPTYPE_STRUCT g_MapADsTypeToDBType[];
extern DWORD g_cMapADsTypeToDBType;
extern MAPTYPE_STRUCT g_MapADsTypeToDBType2[];
extern DWORD g_cMapADsTypeToDBType2;
extern VARTYPE g_MapADsTypeToVarType[];
extern DWORD g_cMapADsTypeToVarType;
extern ADS_SEARCHPREF g_MapDBPropIdToSearchPref[];
extern DWORD g_cMapDBPropToSearchPref;
extern LPWSTR RemoveWhiteSpaces(LPWSTR pszText);
extern STDMETHODIMP
CanConvertHelper(
DBTYPE wSrcType,
DBTYPE wDstType,
DBCONVERTFLAGS dwConvertFlags
);
extern BYTE SetPrecision(DBTYPE dbType);
#endif // _OLEDBUTL_H_