You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
152 lines
5.3 KiB
152 lines
5.3 KiB
#ifndef _UTIL2_H_
|
|
|
|
#include "sdsutils.h"
|
|
#include "advpub.h"
|
|
#include "util.h"
|
|
|
|
// TODO: advpext.h needs to move to a public location
|
|
#include "..\\..\\iexpress\\advpext\\advpext.h"
|
|
|
|
#define COPYANSISTR(x) MakeAnsiStrFromAnsi(x)
|
|
|
|
#define ALLOC_CHUNK_SIZE 1024
|
|
|
|
#define SEARCHFORCONFLICT_CLASS 32770
|
|
|
|
// Copied from sage.h
|
|
#define ENABLE_AGENT 1
|
|
#define DISABLE_AGENT 2
|
|
#define GET_AGENT_STATUS 3
|
|
|
|
|
|
extern char szLogBuf[];
|
|
|
|
void EnableSage(BOOL bRestore);
|
|
void EnableScreenSaver(BOOL bRestore);
|
|
void EnableDiskCleaner(BOOL bRestore);
|
|
BOOL PathIsFileSpec(LPCSTR lpszPath);
|
|
BOOL IsNT();
|
|
|
|
LPWSTR ParseURLW(BSTR str);
|
|
LPSTR ParseURLA(LPCSTR str);
|
|
LPSTR MakeAnsiStrFromAnsi(LPSTR psz);
|
|
LPSTR CopyAnsiStr(LPCSTR);
|
|
HWND GetVersionConflictHWND();
|
|
HRESULT CreateTempDir(DWORD dwDownloadSize, DWORD dwExtractSize,
|
|
char chInstallDrive, DWORD dwInstallSize,
|
|
DWORD dwWindowsDriveSize,
|
|
LPSTR pszPath, DWORD cbPathSize,
|
|
DWORD dwFlags);
|
|
|
|
void AddTempToLikelyExtractDrive(DWORD dwTempDLSpace, DWORD dwTempEXSpace,
|
|
char chInstallDrive, char chDownloadDrive,
|
|
DWORD *pdwWinDirReq, DWORD *pdwInsDirReq,
|
|
DWORD *pdwDownloadDirReq);
|
|
int CompareLocales(LPCSTR pcszLoc1, LPCSTR pcszLoc2);
|
|
|
|
BOOL IsEnoughSpace( LPCSTR szPath, DWORD dwInstNeedSize );
|
|
HRESULT LaunchProcess(LPCSTR pszCmdLine, HANDLE *hProc, LPCSTR pszDir, UINT uShow);
|
|
HRESULT LaunchAndWait(LPSTR pszCommandLine, HANDLE hAbort, HANDLE *hProc, LPSTR pszDir, UINT uShow);
|
|
int VersionCmp(WORD rwVer1[], WORD rwVer2[]);
|
|
void ConvertVersionStr(LPSTR pszVer, WORD rwVer[]);
|
|
void ConvertVersionStrToDwords(LPSTR pszVer, LPDWORD pdwVer, LPDWORD pdwBuild);
|
|
int ErrMsgBox(LPSTR pszText, LPCSTR pszTitle, UINT mbFlags);
|
|
int LoadSz(UINT id, LPSTR pszBuf, UINT cMaxSize);
|
|
void DeleteFilelist(LPCSTR pszFilelist);
|
|
BOOL FNeedGrpConv();
|
|
|
|
// Function is in extract.cpp
|
|
LPSTR FindChar(LPSTR, char);
|
|
LPSTR StripQuotes(LPSTR pszStr);
|
|
|
|
typedef struct
|
|
{
|
|
char szInfname[MAX_PATH];
|
|
char szSection[MAX_PATH];
|
|
char szDir[MAX_PATH];
|
|
char szCab[MAX_PATH];
|
|
DWORD dwFlags;
|
|
DWORD dwType;
|
|
} INF_ARGUEMENTS;
|
|
|
|
DWORD WINAPI LaunchInfCommand(void *p);
|
|
DWORD GetStringField(LPSTR szStr, UINT uField, LPSTR szBuf, UINT cBufSize);
|
|
DWORD GetIntField(LPSTR szStr, UINT uField, DWORD dwDefault);
|
|
LPSTR BuildDependencyString(LPSTR pszName,LPSTR pszOwner);
|
|
int StringFromGuid(const CLSID* piid, LPTSTR pszBuf);
|
|
BOOL DeleteKeyAndSubKeys(HKEY hkIn, LPSTR pszSubKey);
|
|
DWORD WINAPI CleanUpAllDirs(LPVOID pv);
|
|
BOOL UninstallKeyExists(LPCSTR pszUninstallKey);
|
|
BOOL SuccessCheck(LPSTR pszSuccessKey);
|
|
void SafeAddPath(LPSTR szPath, LPCSTR szName, DWORD dwPathSize );
|
|
void ExpandString( LPSTR lpBuf, DWORD dwSize );
|
|
VOID IndicateWinsockActivity(VOID);
|
|
HRESULT MyTranslateString( LPCSTR pszCif, LPCSTR pszID, LPCSTR pszTranslateKey,
|
|
LPSTR pszBuffer, DWORD dwBufferSize);
|
|
|
|
HRESULT MyTranslateInfString( PCSTR pszInfFilename, PCSTR pszInstallSection,
|
|
PCSTR pszTranslateSection, PCSTR pszTranslateKey,
|
|
PSTR pszBuffer, DWORD dwBufferSize,
|
|
PDWORD pdwRequiredSize, HINF hInf );
|
|
|
|
HRESULT WriteTokenizeString(LPCSTR pszCif, LPCSTR pszID, LPCSTR pszTranslateKey, LPCSTR pszBuffer);
|
|
DWORD MyWritePrivateProfileString( LPCSTR pszSec, LPCSTR pszKey, LPCSTR pszData, LPCSTR pszFile);
|
|
void CopyCifString(LPCSTR pszSect, LPCSTR pszKey, LPCSTR pszCifSrc, LPCSTR pszCifDest);
|
|
|
|
HRESULT CreateTempDirOnMaxDrive(LPSTR pszDir, DWORD dwBufSize);
|
|
|
|
HINSTANCE InitSetupLib(LPCSTR pszInfName, HINF *phinf);
|
|
void FreeSetupLib(HINSTANCE hInst, HINF hInf);
|
|
|
|
HRESULT GetIEPath(LPSTR pszPath, DWORD dwSize);
|
|
DWORD MyGetFileSize(LPCSTR pszFilename);
|
|
|
|
void CleanUpTempDir(LPCSTR pszTemp);
|
|
|
|
typedef HRESULT (WINAPI *PFNGETFILELIST)(HINF, PDOWNLOAD_FILEINFO*, DWORD*);
|
|
typedef HRESULT (WINAPI *PFNDOWNLOADANDPATCHFILES)(HWND, DWORD, DOWNLOAD_FILEINFO*,
|
|
LPCSTR, LPCSTR, PATCH_DOWNLOAD_CALLBACK, LPVOID);
|
|
typedef HRESULT (WINAPI *PFNPROCESSFILESECTION)(HINF, HWND, BOOL, LPCSTR, LPCSTR, PATCH_DOWNLOAD_CALLBACK, LPVOID);
|
|
|
|
BOOL IsPatchableINF(LPTSTR pszInf);
|
|
BOOL InitSRLiteLibs();
|
|
BOOL IsCorrectAdvpExt();
|
|
void FreeSRLiteLibs();
|
|
BOOL IsPatchableIEVersion();
|
|
|
|
extern PFNGETFILELIST g_pfnGetFileList;
|
|
extern PFNDOWNLOADANDPATCHFILES g_pfnDownloadAndPatchFiles;
|
|
extern PFNPROCESSFILESECTION g_pfnProcessFileSection;
|
|
|
|
|
|
#define EVENTWAIT_QUIT 0
|
|
#define EVENTWAIT_DONE 1
|
|
|
|
DWORD WaitForEvent(HANDLE hEvent, HWND hwnd);
|
|
BOOL WaitForMutex(HANDLE hMutex);
|
|
|
|
DWORD GetCurrentPlatform();
|
|
|
|
void DllAddRef(void);
|
|
void DllRelease(void);
|
|
void * _cdecl malloc(size_t n);
|
|
void * _cdecl calloc(size_t n, size_t s);
|
|
void * _cdecl realloc(void* p, size_t n);
|
|
void _cdecl free(void* p);
|
|
|
|
extern char g_szWindowsDir[MAX_PATH];
|
|
|
|
void GetTimeDateStamp(LPSTR lpLogBuf);
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
HRESULT WINAPI DownloadFile(LPCSTR szURL, LPCSTR szFilename, HWND hwnd, BOOL bCheckTrust, BOOL bShowBadUI);
|
|
|
|
#ifdef __cplusplus
|
|
} // end of extern "C"
|
|
#endif
|
|
|
|
#define _UTIL2_H_
|
|
#endif
|