windows-nt/Source/XPSP1/NT/windows/appcompat/shimdbc/globals.h
2020-09-26 16:20:57 +08:00

72 lines
2.6 KiB
C++

////////////////////////////////////////////////////////////////////////////////////
//
// File: globals.h
//
// History: 17-Nov-00 markder Created.
//
// Desc: This file contains extern declarations of all global variables.
//
////////////////////////////////////////////////////////////////////////////////////
#ifndef __GLOBALS_H__
#define __GLOBALS_H__
class SdbDatabase;
extern BOOL g_bQuiet;
extern BOOL g_bStrict;
extern CStringArray g_rgErrors;
BOOL ReadDatabase(SdbInputFile* pInputFile, SdbDatabase* pDatabase);
BOOL WriteDatabase(SdbOutputFile* pOutputFile, SdbDatabase* pDatabase);
BOOL StringToMask(LPDWORD pdwMask, LPCTSTR lpszVal);
DWORD StringToDword(CString cs);
ULONG StringToULong(LPCTSTR lpszVal);
ULONGLONG StringToQword(CString cs);
BOOL VersionToQword(LPCTSTR lpszVersion, ULONGLONG* pullRet);
BOOL VersionQwordToString(
OUT CString& rString,
ULONGLONG ullVersion
);
BOOL MakeUTCTime(CString& cs, time_t* pt);
CString TrimParagraph(CString csInput);
VOID ReplaceStringNoCase(CString& strText, LPCTSTR lpszFindThis, LPCTSTR lpszReplaceWithThis);
VOID ExpandEnvStrings(CString* pcs);
CString MakeFullPath(CString cs);
DWORD GetBytesFromString(CString csBytes, BYTE* pBuffer, DWORD dwBufferSize);
DWORD GetByteStringSize(CString csBytes);
typedef DWORD (*PFNGETSTRINGMASK)(LPCTSTR szOSSKUType);
DWORD GetOSSKUType(LPCTSTR szOSSKUType);
DWORD GetOSPlatform(LPCTSTR szOSPlatform);
DWORD GetRuntimePlatformType(LPCTSTR szPlatformType);
DWORD GetFilter(LPCTSTR szFilter);
CString GetGUID(REFGUID guid);
BOOL DecodeString(LPCTSTR pszStr, LPDWORD pdwMask, PFNGETSTRINGMASK pfnGetStringMask);
BOOL DecodeRuntimePlatformString(LPCTSTR pszPlatform, LPDWORD pdwRuntimePlatform);
DWORD DecodeOutputFlags(CString csFlags);
BOOL FilterOSVersion(DOUBLE flOSVersion, CString csOSVersionSpec, LPDWORD lpdwSPMask);
BOOL ParseLanguageID(LPCTSTR pszLanguage, DWORD* pdwLanguageID);
BOOL ParseLanguagesString(CString csLanguages, CStringArray* prgLanguages);
CString ProcessShimCmdLine(CString& csCommandLine, GUID& guidDB, TAGID tiShimRef);
SdbOutputType GetOutputType(LPCTSTR szOutputType);
BOOL ReadName( IXMLDOMNode* pNode, CString* pcsName);
BOOL ReadLangID(IXMLDOMNode* pNode, SdbDatabase* pDB, CString* pcsLangID);
void _cdecl Print(LPCTSTR pszFmt, ...);
void _cdecl PrintError(LPCTSTR pszFmt, ...);
void PrintErrorStack();
#endif // __GLOBALS_H__