//************************************************************* // // Copyright (c) Microsoft Corporation 1998 // All rights reserved // // common.hxx // //************************************************************* #include #include #include #include #include #include #include #include #include "appevt.h" #include "cres.h" #include "app.h" #include "evt.hxx" #include "dbg.hxx" #include "cutil.hxx" #include "list.hxx" #if defined(_X86_) #define DEFAULT_ARCHITECTURE PROCESSOR_ARCHITECTURE_INTEL #elif defined(_AMD64_) #define DEFAULT_ARCHITECTURE PROCESSOR_ARCHITECTURE_AMD64 #elif defined(_IA64_) #define DEFAULT_ARCHITECTURE PROCESSOR_ARCHITECTURE_IA64 #else #define DEFAULT_ARCHITECTURE PROCESSOR_ARCHITECTURE_UNKNOWN #endif // User32.dll typedef WINUSERAPI int (WINAPI LOADSTRINGW)(HINSTANCE hInstance, UINT uID, LPWSTR lpBuffer, int nBufferMax); typedef WINUSERAPI DWORD (WINAPI MSGWAITFORMULTIPLEOBJECTS)(DWORD nCount,CONST HANDLE *pHandles,BOOL fWaitAll,DWORD dwMilliseconds,DWORD dwWakeMask); typedef WINUSERAPI BOOL (WINAPI PEEKMESSAGEW)(LPMSG lpMsg,HWND hWnd,UINT wMsgFilterMin,UINT wMsgFilterMax,UINT wRemoveMsg); typedef WINUSERAPI BOOL (WINAPI TRANSLATEMESSAGE)(CONST MSG *lpMsg); typedef WINUSERAPI LRESULT (WINAPI DISPATCHMESSAGEW)(CONST MSG *lpMsg); typedef WINUSERAPI HWINSTA (WINAPI GETPROCESSWINDOWSTATION)(); typedef WINUSERAPI BOOL (WINAPI CLOSEWINDOWSTATION)(HWINSTA hWinSta); typedef WINUSERAPI BOOL (WINAPI GETUSEROBJECTINFORMATIONW)(HANDLE hObj,int nIndex,PVOID pvInfo,DWORD nLength,LPDWORD lpnLengthNeeded); extern LOADSTRINGW * pfnLoadStringW; extern MSGWAITFORMULTIPLEOBJECTS * pfnMsgWaitForMultipleObjects; extern PEEKMESSAGEW * pfnPeekMessageW; extern TRANSLATEMESSAGE * pfnTranslateMessage; extern DISPATCHMESSAGEW * pfnDispatchMessageW; extern GETPROCESSWINDOWSTATION * pfnGetProcessWindowStation; extern CLOSEWINDOWSTATION * pfnCloseWindowStation; extern GETUSEROBJECTINFORMATIONW * pfnGetUserObjectInformationW; // Msi.dll typedef INSTALLUILEVEL (WINAPI MSISETINTERNALUI)(INSTALLUILEVEL dwUILevel, HWND *phWnd); typedef UINT (WINAPI MSICONFIGUREPRODUCTEXW)(LPCWSTR szProduct, int iInstallLevel, INSTALLSTATE eInstallState, LPCWSTR szCommandLine); typedef UINT (WINAPI MSIPROVIDECOMPONENTFROMDESCRIPTORW)(LPCWSTR szDescriptor, LPWSTR lpPathBuf, DWORD *pcchPathBuf, DWORD *pcchArgsOffset); typedef UINT (WINAPI MSIDECOMPOSEDESCRIPTORW)(LPCWSTR szDescriptor, LPWSTR szProductCode, LPWSTR szFeatureId, LPWSTR szComponentCode, DWORD* pcchArgsOffset); typedef UINT (WINAPI MSIGETPRODUCTINFOW)(LPCWSTR szProduct, LPCWSTR szAttribute, LPWSTR lpValueBuf, DWORD *pcchValueBuf); typedef UINT (WINAPI MSIADVERTISESCRIPTW)(LPCWSTR szScriptFile, DWORD dwFlags, PHKEY phRegData, BOOL fRemoveItems); typedef INSTALLSTATE (WINAPI MSIQUERYPRODUCTSTATEW)(LPCWSTR szProduct); typedef UINT (WINAPI MSIISPRODUCTELEVATEDW)(LPCWSTR szProduct, BOOL *pfElevated); typedef UINT (WINAPI MSIREINSTALLPRODUCTW)(LPCWSTR szProduct, DWORD szReinstallMode); extern MSISETINTERNALUI * gpfnMsiSetInternalUI; extern MSICONFIGUREPRODUCTEXW * gpfnMsiConfigureProductEx; extern MSIPROVIDECOMPONENTFROMDESCRIPTORW * gpfnMsiProvideComponentFromDescriptor; extern MSIDECOMPOSEDESCRIPTORW * gpfnMsiDecomposeDescriptor; extern MSIGETPRODUCTINFOW * gpfnMsiGetProductInfo; extern MSIADVERTISESCRIPTW * gpfnMsiAdvertiseScript; extern MSIQUERYPRODUCTSTATEW * gpfnMsiQueryProductState; extern MSIISPRODUCTELEVATEDW * gpfnMsiIsProductElevated; extern MSIREINSTALLPRODUCTW * gpfnMsiReinstallProduct;