STDAFX.H
// Filename: stdafx.h 
// 
// Description: include file for standard system include files, 
//or project specific include files that are used frequently, 
//but are changed infrequently 
// 
// This file is provided as part of the Microsoft Transaction Server 
// Software Development Kit 
// 
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT  
// WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,  
// INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES  
// OF MERCHANTABILITY AND/OR FITNESS FOR A  PARTICULAR  
// PURPOSE. 
// 
// Copyright (C) 1997 Microsoft Corporation, All rights reserved 
 
#define _ATL_STATIC_REGISTRY 
 
#include <atlbase.h> 
//You may derive a class from CComModule and use it if you want to override 
//something, but do not change the name of _Module 
extern CComModule _Module; 
#include <atlcom.h> 
 
#define THROW_ERR(exp,str) {if (FAILED (hr = (exp))) {lErrFlag = 0; pErrMsg = _T(str); throw hr;}} 
#define THROW_STR(str) { hr = APP_ERROR; lErrFlag = 1; pErrMsg = str; throw hr;} 
#define RETHROW_ERR(exp) { if (FAILED(hr = (exp))) {lErrFlag = 2; throw hr;}} 
 
#define APP_ERROR 0x80004100 
 
 
inline BSTR TCHAR2BSTR (TCHAR* szBuf) { 
 
WCHAR* wszBuf; 
 
#ifndef UNICODE 
wszBuf = new WCHAR [512]; 
MultiByteToWideChar( CP_ACP, 0, szBuf, -1, wszBuf, 512 ); 
#else 
wszBuf = szBuf; 
#endif 
 
BSTR bstrNew = ::SysAllocString (wszBuf); 
 
#ifndef UNICODE 
delete [] wszBuf; 
#endif 
 
return bstrNew; 
}