#ifndef __MAIN_HXX #define __MAIN_HXX // // System Includes // #define UNICODE #define _UNICODE #define INC_OLE2 #include // // CRunTime Includes // #include #include #include #include #include // // Public ADs includes // #ifdef __cplusplus extern "C" { #endif #include "activeds.h" #include "oledb.h" #include "oledberr.h" #ifdef __cplusplus } #endif #define NULL_TERMINATED 0 // // ********* Useful macros // #define BAIL_ON_NULL(p) \ if (!(p)) { \ goto error; \ } #define BAIL_ON_FAILURE(hr) \ if (FAILED(hr)) { \ goto error; \ } #define FREE_INTERFACE(pInterface) \ if (pInterface) { \ pInterface->Release(); \ pInterface=NULL; \ } #define ADS_FREE(pMem) \ if (pMem) { \ FreeADsMem(pMem); \ pMem = NULL; \ } #define FREE_UNICODE_STRING(pMem) \ if (pMem) { \ FreeUnicodeString(pMem); \ pMem = NULL; \ } void PrintAttrDefinition( PADS_ATTR_DEF pAttrDefiniton, DWORD dwNumAttributes ); int AnsiToUnicodeString( LPSTR pAnsi, LPWSTR pUnicode, DWORD StringLength ); int UnicodeToAnsiString( LPWSTR pUnicode, LPSTR pAnsi, DWORD StringLength ); LPWSTR AllocateUnicodeString( LPSTR pAnsiString ); void FreeUnicodeString( LPWSTR pUnicodeString ); void PrintUsage( void ); HRESULT ProcessArgs( int argc, char * argv[] ); LPWSTR RemoveWhiteSpaces( LPWSTR pszText ); #endif // __MAIN_HXX