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.
 
 
 
 
 
 

118 lines
4.0 KiB

/****************************** Module Header ******************************\
* Module Name: imkrinst.h
*
* Copyright (c) 2000, Microsoft Corporation
*
* IMKRINST, main header file
*
\***************************************************************************/
#if !defined (_IMKRINST_H__INCLUDED_)
#define _IMKRINST_H__INCLUDED_
/////////////////////////////////////////////////////////////////////////////
// Global constants
/////////////////////////////////////////////////////////////////////////////
// Line buffer length for script file.
const int _cchBuffer = 1024;
// Error code returned from ProcessScriptFile.
enum
{
errNoError,
errNoFile,
errFileList,
errSetDefaultParameters,
errSetVersion,
errPreSetupCheck,
errRenameFile,
errRegisterIME,
errRegisterIMEandTIP,
errRegisterInterface,
errRegisterInterfaceWow64,
errAddToPreload,
errPrepareMigration,
errRegisterPackageVersion,
errRegisterPadOrder,
errCmdCreateDirectory,
errCmdRegisterHelpDirs
};
/////////////////////////////////////////////////////////////////////////////
// Utility classes
/////////////////////////////////////////////////////////////////////////////
//
// FileListElement. Constructs FileListSet.
//
class FLE
{ // I use short incomprehensible name such as "FLE"
public: // since we'll meet many C4786 warnings when I use
BOOL fRemoved; // longer name.
TCHAR szFileName[MAX_PATH];
};
// binary operator required to construct a set of this class.
bool operator < (const FLE &fle1, const FLE &fle2)
{
return(0 > lstrcmpi(fle1.szFileName, fle2.szFileName));
};
//
// VersionComparison. Used to compare two version info. Used for IsNewer.
//
class VersionComparison2
{
public:
VersionComparison2(const DWORD arg_dwMajorVersion, const DWORD arg_dwMinorVersion)
: dwMajorVersion(arg_dwMajorVersion), dwMinorVersion(arg_dwMinorVersion){};
virtual bool operator <(const VersionComparison2 &vc2)
{
if((dwMajorVersion < vc2.dwMajorVersion) ||
((dwMajorVersion == vc2.dwMajorVersion) && (dwMinorVersion < vc2.dwMinorVersion)))
return(true);
else
return(false);
}
virtual bool operator ==(const VersionComparison2 &vc2)
{
return((dwMajorVersion == vc2.dwMajorVersion) && (dwMinorVersion == vc2.dwMinorVersion));
}
private:
DWORD dwMajorVersion;
DWORD dwMinorVersion;
};
class VersionComparison4
{
public:
VersionComparison4(const DWORD arg_dwMajorVersion, const DWORD arg_dwMiddleVersion, const DWORD arg_dwMinorVersion, const DWORD arg_dwBuildNumber)
: dwMajorVersion(arg_dwMajorVersion), dwMiddleVersion(arg_dwMiddleVersion), dwMinorVersion(arg_dwMinorVersion), dwBuildNumber(arg_dwBuildNumber){};
virtual bool operator <(const VersionComparison4 &vc4)
{
if((dwMajorVersion < vc4.dwMajorVersion) ||
((dwMajorVersion == vc4.dwMajorVersion) && (dwMiddleVersion < vc4.dwMiddleVersion)) ||
((dwMajorVersion == vc4.dwMajorVersion) && (dwMiddleVersion == vc4.dwMiddleVersion) && (dwMinorVersion < vc4.dwMinorVersion)) ||
((dwMajorVersion == vc4.dwMajorVersion) && (dwMiddleVersion == vc4.dwMiddleVersion) && (dwMinorVersion == vc4.dwMinorVersion) && (dwBuildNumber < vc4.dwBuildNumber)))
return(true);
else
return(false);
}
virtual bool operator ==(const VersionComparison4 &vc4)
{
return((dwMajorVersion == vc4.dwMajorVersion) && (dwMiddleVersion == vc4.dwMiddleVersion) &&
(dwMinorVersion == vc4.dwMinorVersion) && (dwBuildNumber == vc4.dwBuildNumber));
}
private:
DWORD dwMajorVersion;
DWORD dwMiddleVersion;
DWORD dwMinorVersion;
DWORD dwBuildNumber;
};
#endif // !defined (_IMKRINST_H__INCLUDED_)