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.
 
 
 
 
 
 

64 lines
2.1 KiB

#ifndef _IEDETECT_H
#define _IEDETECT_H
#include <inseng.h>
extern HINSTANCE g_hInstance;
extern HANDLE g_hHeap;
// from inseng, cifcomp.h
#define ISINSTALLED_YES 1
#define ISINSTALLED_NO 0
#define COMPONENT_KEY "Software\\Microsoft\\Active Setup\\Installed Components"
#define IEXPLORE_APPPATH_KEY REGSTR_PATH_APPPATHS "\\iexplore.exe"
#define IE_KEY "Software\\Microsoft\\Internet Explorer"
#define DEFAULT_LOCALE "en"
#define ISINSTALLED_KEY "IsInstalled"
#define LOCALE_KEY "Locale"
#define VERSION_KEY "Version"
#define BUILD_KEY "Build"
#define QFE_VERSION_KEY "QFEVersion"
#define IE_3_MS_VERSION 0x00040046
#define IE_4_MS_VERSION 0x00040047
// Build number 1712.0 (IE4.0 RTW)
#define IE_4_LS_VERSION 0x06B00000
// Version numver 5.0
#define IE_5_MS_VERSION 0x00050000
#define IE_5_LS_VERSION 0x00000000
// Version numver 6.0
#define IE_6_MS_VERSION 0x00060000
#define IE_6_LS_VERSION 0x00000000
// Note: for now we only allow 10 characters in the cPath part of the structure.
// If more characters are needed change the amount below.
typedef struct _DETECT_FILES
{
char cPath[10];
char szFilename[13];
DWORD dwMSVer;
DWORD dwLSVer;
} DETECT_FILES;
// From utils.cpp
int CompareLocales(LPCSTR pcszLoc1, LPCSTR pcszLoc2);
void ConvertVersionStrToDwords(LPSTR pszVer, char cDelimiter, LPDWORD pdwVer, LPDWORD pdwBuild);
DWORD GetStringField(LPSTR szStr, UINT uField, char cDelimiter, LPSTR szBuf, UINT cBufSize);
DWORD GetIntField(LPSTR szStr, char cDelimiter, UINT uField, DWORD dwDefault);
LPSTR FindChar(LPSTR pszStr, char ch);
BOOL FRunningOnNT(void);
DWORD CompareVersions(DWORD dwAskVer, DWORD dwAskBuild, DWORD dwInstalledVer, DWORD dwInstalledBuild);
BOOL GetVersionFromGuid(LPSTR pszGuid, LPDWORD pdwVer, LPDWORD pdwBuild);
BOOL CompareLocal(LPCSTR pszGuid, LPCSTR pszLocal);
VOID ReadFromWininitOrPFRO(PCSTR pcszKey, PSTR pszValue);
DWORD CheckFile(DETECT_FILES Detect_Files);
DWORD WINAPI DetectFile(DETECTION_STRUCT *pDet, LPSTR pszFilename);
#endif