Leaked source code of windows server 2003
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

#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