Source code of Windows XP (NT5)
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.
 
 
 
 
 
 

162 lines
3.4 KiB

//
// Function prototypes
//
LPSTR
CombinePaths(
IN LPCSTR ParentPath,
IN LPCSTR ChildPath,
OUT LPSTR TargetPath
);
BOOL
MyGetFileVersion(
IN LPCSTR FileName,
OUT DWORDLONG *Version
);
BOOL
ConvertVersionStringToQuad(
IN LPCSTR lpFileVersion,
OUT DWORDLONG *FileVersion
);
BOOL
InitializeLog(
BOOL WipeLogFile,
LPCSTR NameOfLogFile
);
VOID
TerminateLog(
VOID
);
BOOL
LogItem(
IN DWORD Description,
IN LPCSTR LogString
);
BOOL
ValidateFileSignature(
IN HCATADMIN hCatAdmin,
IN HANDLE RealFileHandle,
IN PCWSTR BaseFileName,
IN PCWSTR CompleteFileName
);
VOID
PrintStringToConsole(
IN LPCSTR StringToPrint
);
VOID
LogHeader(
VOID
);
BOOL
ParseArgs(
IN int argc,
IN char **argv
);
BOOL
ListNonMatchingHotfixes(
VOID
);
VOID _cdecl main( int,char ** );
//
// more prototypes
//
typedef BOOL
(WINAPI *PCRYPTCATADMINACQUIRECONTEXT)(
OUT HCATADMIN *phCatAdmin,
IN const GUID *pgSubsystem,
IN DWORD dwFlags
);
typedef BOOL
(WINAPI *PCRYPTCATADMINRELEASECONTEXT)(
IN HCATADMIN hCatAdmin,
IN DWORD dwFlags
);
typedef BOOL
(WINAPI *PCRYPTCATADMINCALCHASHFROMFILEHANDLE)(
IN HANDLE hFile,
IN OUT DWORD *pcbHash,
OUT OPTIONAL BYTE *pbHash,
IN DWORD dwFlags
);
typedef HCATINFO
(WINAPI *PCRYPTCATADMINENUMCATALOGFROMHASH)(
IN HCATADMIN hCatAdmin,
IN BYTE *pbHash,
IN DWORD cbHash,
IN DWORD dwFlags,
IN OUT HCATINFO *phPrevCatInfo
);
typedef LONG
(WINAPI *PWINVERIFYTRUST)(
HWND hwnd,
GUID *pgActionID,
LPVOID pWVTData
);
typedef BOOL
(WINAPI *PCRYPTCATCATALOGINFOFROMCONTEXT)(
IN HCATINFO hCatInfo,
IN OUT CATALOG_INFO *psCatInfo,
IN DWORD dwFlags
);
typedef BOOL
(WINAPI *PCRYPTCATADMINRELEASECATALOGCONTEXT)(
IN HCATADMIN hCatAdmin,
IN HCATINFO hCatInfo,
IN DWORD dwFlags
);
typedef PWSTR
(WINAPI *PMULTIBYTETOUNICODE)(
IN PCSTR String,
IN UINT Code
);
extern PCRYPTCATADMINACQUIRECONTEXT pCryptCATAdminAcquireContext;
extern PCRYPTCATADMINRELEASECONTEXT pCryptCATAdminReleaseContext;
extern PCRYPTCATADMINCALCHASHFROMFILEHANDLE pCryptCATAdminCalcHashFromFileHandle;
extern PCRYPTCATADMINENUMCATALOGFROMHASH pCryptCATAdminEnumCatalogFromHash;
extern PCRYPTCATCATALOGINFOFROMCONTEXT pCryptCATCatalogInfoFromContext;
extern PCRYPTCATADMINRELEASECATALOGCONTEXT pCryptCATAdminReleaseCatalogContext;
extern PWINVERIFYTRUST pWinVerifyTrust;
//
// Strings
//
#define STR_NO_SYSDIR 0xff00
#define STR_INVALID_OS_VER 0xff01
#define STR_USAGE 0xff02
#define STR_LOGFILE_INIT_FAILED 0xff03
#define STR_FILES_MISSING 0xff04
#define STR_HOTFIX_CURRENT 0xff05
#define STR_GETCOMPUTERNAME_FAILED 0xff06
// available 0xff07
#define STR_REPORT_DATE 0xff08
#define STR_SP_LEVEL 0xff09
#define STR_HOTFIXES_ID 0xff0a
#define STR_NO_HOTFIXES_FOUND 0xff0b
#define STR_NO_MATCHING_SIG 0xff0c
#define STR_REINSTALL_HOTFIX 0xff0d
#define STR_NO_SP_INSTALLED 0xff0e
// available 0xff0f
#define STR_VALIDATION_REPORT_W2K 0xff10
#define STR_VALIDATION_REPORT_XP 0xff11