/****************************************************************************** Copyright (c) 1999 Microsoft Corporation Module Name: stdafx.h Abstract: Include file for standard system include files, or project specific include files that are used frequently, but are changed infrequently Revision History: Ghim-Sim Chua (gschua) 07/07/99 created ******************************************************************************/ #if !defined(AFX_STDAFX_H__9C155541_7DB5_11D3_A14F_00C04F45E825__INCLUDED_) #define AFX_STDAFX_H__9C155541_7DB5_11D3_A14F_00C04F45E825__INCLUDED_ #include #include #include #include #include #include #include #include #include #include #include // Trace Stuff #include #include #include // Several utility things, also includes Mpc_common. #include #include #include #include #include #include #include // // From HelpServiceTypeLib.idl // #include #include #include #include #include #include #include #include #include #include #include //////////////////////////////////////////////////////////////////////////////// // // Define macros // #define PCH_MACRO_CHECK_STRINGW(hr, szString, uErrorMsg) \ if(szString == NULL || wcslen(szString) == 0) \ { \ HCUpdate::Engine::WriteLog( hr = HRESULT_FROM_WIN32(ERROR_INVALID_PARAMETER), uErrorMsg ); \ __MPC_FUNC_LEAVE; \ } #define PCH_MACRO_CHECK_STRINGA(hr, szString, uErrorMsg) \ if(szString == NULL || strlen(szString) == 0) \ { \ HCUpdate::Engine::WriteLog( hr = HRESULT_FROM_WIN32(ERROR_INVALID_PARAMETER), uErrorMsg ); \ __MPC_FUNC_LEAVE; \ } #define PCH_MACRO_CHECK_STRING(hr, szString, uErrorMsg) \ if(szString.size() == 0) \ { \ HCUpdate::Engine::WriteLog( hr = HRESULT_FROM_WIN32(ERROR_INVALID_PARAMETER), uErrorMsg ); \ __MPC_FUNC_LEAVE; \ } #if DEBUG #define PCH_MACRO_DEBUG( str ) WriteLog( S_OK, str ) #define PCH_MACRO_DEBUG2( str, arg ) WriteLog( S_OK, str, arg ) #else #define PCH_MACRO_DEBUG( str ) #define PCH_MACRO_DEBUG2( str, arg ) #endif #define PCH_MACRO_CHECK_ABORT(hr) if(IsAborted()) __MPC_SET_ERROR_AND_EXIT(hr, E_ABORT) //////////////////////////////////////////////////////////////////////////////// #define PCH_SAFETYMARGIN (20*1024*1024) #define PCH_STR_TRUE L"true" #define PCH_STR_FALSE L"false" #define PCH_MSFT_DN HC_MICROSOFT_DN #define PCH_STR_VENDOR_PATH HC_ROOT_HELPSVC_VENDORS #define PCH_STR_SYS_PATH HC_ROOT_HELPSVC_SYSTEM #define PCH_STR_VENDOR_URL L"hcp://%s/%s" #define PCH_STR_SCOPE_DEFAULT L"" //////////////////////////////////////////////////////////////////////////////// #define PCH_TAG_ACTION L"ACTION" #define PCH_TAG_FILE L"FILE" #define PCH_TAG_SOURCE L"SOURCE" #define PCH_TAG_URI L"URI" #define PCH_TAG_SYS L"SYS" #define PCH_TAG_SYSHELP L"SYSHELP" #define PCH_XQL_SAF L"./CONFIG/SAF" #define PCH_XQL_INSTALLFILE L"./INSTALL_CONTENT/FILE" #define PCH_XQL_TRUSTED L"./TRUSTED_CONTENT/TRUSTED" #define PCH_XQL_HHT L"./METADATA/HHT" #define PCH_XQL_SE L"./SEARCHENGINES/WRAPPER" #define PCH_TAG_SE_ID L"ID" #define PCH_TAG_SE_CLSID L"CLSID" #define PCH_TAG_SE_DATA L"DATA" //////////////////////////////////////////////////////////////////////////////// #define PCH_XQL_OEM L"./NODEOWNERS/OWNER" #define PCH_TAG_OEM_DN L"DN" #define PCH_XQL_SCOPES L"./SCOPE_DEFINITION/SCOPE" #define PCH_TAG_SCOPE_ID L"ID" #define PCH_TAG_SCOPE_NAME L"DISPLAYNAME" #define PCH_TAG_SCOPE_CATEGORY L"CATEGORY" #define PCH_XQL_FTS L"./FTS/HELPFILE" #define PCH_XQL_INDEX L"./INDEX/HELPFILE" #define PCH_XQL_HELPIMAGE L"./HELPIMAGE/HELPFILE" #define PCH_TAG_HELPFILE_CHM L"CHM" #define PCH_TAG_HELPFILE_CHQ L"CHQ" #define PCH_TAG_HELPFILE_HHK L"HHK" #define PCH_TAG_HELPFILE_SCOPE L"SCOPE" #define PCH_TAG_HELPFILE_OTHER L"OTHER" #define PCH_XQL_STOPSIGN L"./STOPSIGN_ENTRIES/STOPSIGN" #define PCH_TAG_STOPSIGN_CONTEXT L"CONTEXT" #define PCH_TAG_STOPSIGN_STOPSIGN L"STOPSIGN" #define PCH_XQL_STOPWORD L"./STOPWORD_ENTRIES/STOPWORD" #define PCH_TAG_STOPWORD_STOPWORD L"STOPWORD" #define PCH_XQL_OPERATOR L"./OPERATOR_ENTRIES/OPERATOR" #define PCH_TAG_OPERATOR_OPERATION L"OPERATION" #define PCH_TAG_OPERATOR_OPERATOR L"OPERATOR" #define PCH_XQL_SYNSET L"./SYNTABLE/SYNSET" #define PCH_TAG_SYNSET_ID L"ID" #define PCH_XQL_SYNONYM L"./SYNONYM" #define PCH_XQL_TAXONOMY L"./TAXONOMY_ENTRIES/TAXONOMY_ENTRY" #define PCH_TAG_TAXONOMY_CATEGORY L"CATEGORY" #define PCH_TAG_TAXONOMY_ENTRY L"ENTRY" #define PCH_TAG_TAXONOMY_URI L"URI" #define PCH_TAG_TAXONOMY_ICONURI L"ICONURI" #define PCH_TAG_TAXONOMY_TITLE L"TITLE" #define PCH_TAG_TAXONOMY_DESCRIPTION L"DESCRIPTION" #define PCH_TAG_TAXONOMY_TYPE L"TYPE" #define PCH_TAG_TAXONOMY_VISIBLE L"VISIBLE" #define PCH_TAG_TAXONOMY_SUBSITE L"SUBSITE" #define PCH_TAG_TAXONOMY_NAVMODEL L"NAVIGATIONMODEL" #define PCH_TAG_TAXONOMY_INSERTMODE L"INSERTMODE" #define PCH_TAG_TAXONOMY_INSERTLOCATION L"INSERTLOCATION" #define PCH_XQL_TOPIC_KEYWORDS L"./KEYWORD" #define PCH_TAG_KEYWORD_PRIORITY L"PRIORITY" #define PCH_TAG_KEYWORD_HHK L"HHK" //////////////////////////////////////////////////////////////////////////////// #define PCH_XQL_NEWSROOT L"./UPDATEHEADLINES/HEADLINE" #define PCH_TAG_NEWS_ICON L"ICON" #define PCH_TAG_NEWS_TITLE L"TITLE" #define PCH_TAG_NEWS_LINK L"LINK" #define PCH_TAG_NEWS_DESCRIPTION L"DESCRIPTION" #define PCH_TAG_NEWS_TIMEOUT L"TIMEOUT" #define PCH_TAG_NEWS_EXPIRYDATE L"EXPIRYDATE" //////////////////////////////////////////////////////////////////////////////// #define HCUPDATE_GETATTRIBUTE(hr,xml,name,var,fFound,node) \ if(FAILED(hr = xml.GetAttribute( NULL, name, var, fFound, node )) || fFound == false) \ { \ if(fFound == false) hr = E_INVALIDARG; \ WriteLog( hr, L"Error getting attribute '%s'", name ); __MPC_FUNC_LEAVE; \ } #define HCUPDATE_GETATTRIBUTE_OPT(hr,xml,name,var,fFound,node) \ if(FAILED(hr = xml.GetAttribute( NULL, name, var, fFound, node ))) \ { \ PCH_MACRO_DEBUG2( L"Error getting attribute '%s'", name ); \ } #define HCUPDATE_BEGIN_TRANSACTION(hr,trans) \ if(FAILED(hr = trans.Begin( m_sess ))) \ { \ WriteLog(hr, L"Error beginning transaction" ); __MPC_FUNC_LEAVE; \ } #define HCUPDATE_COMMIT_TRANSACTION(hr,trans) \ if(FAILED(hr = trans.Commit())) \ { \ WriteLog(hr, L"Error committing transaction" ); __MPC_FUNC_LEAVE; \ } //////////////////////////////////////////////////////////////////////////////// //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line. #endif // !defined(AFX_STDAFX_H__9C155541_7DB5_11D3_A14F_00C04F45E825__INCLUDED)