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.
 
 
 
 
 
 

154 lines
5.8 KiB

/*++
Copyright (c) 1998 Microsoft Corporation
Module Name:
badapp.h
Abstract:
Declares the structures used for CheckBadApps data.
Author:
Calin Negreanu (calinn) 01/20/1999
Revision History:
--*/
#pragma once
#define APPTYPE_TYPE_MASK 0x000000FF
#define APPTYPE_INC_NOBLOCK 0x00000001
#define APPTYPE_INC_HARDBLOCK 0x00000002
#define APPTYPE_MINORPROBLEM 0x00000003
#define APPTYPE_REINSTALL 0x00000004
#define APPTYPE_FLAG_MASK 0xFFFFFF00
#define APPTYPE_FLAG_NONET 0x00000100
#define APPTYPE_FLAG_FAT32 0x00000200
#define APPTYPE_FLAG_NTFS 0x00000400
typedef struct {
DWORD Size;
DWORD MsgId;
DWORD AppType;
} BADAPP_PROP, *PBADAPP_PROP;
typedef struct {
DWORD Size;
PCWSTR FilePath;
PBYTE Blob;
} BADAPP_DATA, *PBADAPP_DATA;
BOOL
IsBadApp (
IN PBADAPP_DATA Data,
OUT PBADAPP_PROP Prop
);
#define EDIT TRUE
#define NOEDIT FALSE
#define ALLFILES TRUE
#define NOT4MAINFILE FALSE
//
// Do not change any values in this enum. You can only add new values
// immediately above VTID_LASTID
//
typedef enum {
VTID_BAD_VTID = 0, // do not use or change !!!
VTID_REQFILE = 1, // this should never change !!!
VTID_FILESIZE = VTID_REQFILE + 1,
VTID_EXETYPE = VTID_REQFILE + 2,
VTID_BINFILEVER = VTID_REQFILE + 3,
VTID_BINPRODUCTVER = VTID_REQFILE + 4,
VTID_FILEDATEHI = VTID_REQFILE + 5,
VTID_FILEDATELO = VTID_REQFILE + 6,
VTID_FILEVEROS = VTID_REQFILE + 7,
VTID_FILEVERTYPE = VTID_REQFILE + 8,
VTID_CHECKSUM = VTID_REQFILE + 9,
VTID_PECHECKSUM = VTID_REQFILE +10,
VTID_COMPANYNAME = VTID_REQFILE +11,
VTID_PRODUCTVERSION = VTID_REQFILE +12,
VTID_PRODUCTNAME = VTID_REQFILE +13,
VTID_FILEDESCRIPTION = VTID_REQFILE +14,
VTID_FILEVERSION = VTID_REQFILE +15,
VTID_ORIGINALFILENAME = VTID_REQFILE +16,
VTID_INTERNALNAME = VTID_REQFILE +17,
VTID_LEGALCOPYRIGHT = VTID_REQFILE +18,
VTID_16BITDESCRIPTION = VTID_REQFILE +19,
VTID_UPTOBINPRODUCTVER = VTID_REQFILE +20,
// add new versions here
VTID_LASTID
};
#define VERSION_STAMPS \
LIBARGS(VTID_FILESIZE, CheckFileSize) \
TOOLARGS(TEXT("FILESIZE"), TEXT("File Size:"), ALLFILES, NOEDIT, QueryFileSize, OutputHexValue)\
\
LIBARGS(VTID_EXETYPE, CheckModuleType) \
TOOLARGS(TEXT("EXETYPE"), TEXT("Module Type:"), NOT4MAINFILE, NOEDIT, QueryModuleType, OutputModuleTypeValue)\
\
LIBARGS(VTID_BINFILEVER, CheckBinFileVer) \
TOOLARGS(TEXT("BINFILEVER"), TEXT("Binary File Version:"), ALLFILES, EDIT, QueryBinFileVer, OutputBinVerValue)\
\
LIBARGS(VTID_BINPRODUCTVER, CheckBinProductVer) \
TOOLARGS(TEXT("BINPRODUCTVER"), TEXT("Binary Product Version:"), ALLFILES, EDIT, QueryBinProductVer, OutputBinVerValue)\
\
LIBARGS(VTID_FILEDATEHI, CheckFileDateHi) \
TOOLARGS(TEXT("FILEDATEHI"), TEXT("File Date (HI):"), ALLFILES, NOEDIT, QueryFileDateHi, OutputHexValue)\
\
LIBARGS(VTID_FILEDATELO, CheckFileDateLo) \
TOOLARGS(TEXT("FILEDATELO"), TEXT("File Date (LO):"), ALLFILES, NOEDIT, QueryFileDateLo, OutputHexValue)\
\
LIBARGS(VTID_FILEVEROS, CheckFileVerOs) \
TOOLARGS(TEXT("FILEVEROS"), TEXT("File OS Version:"), ALLFILES, NOEDIT, QueryFileVerOs, OutputHexValue)\
\
LIBARGS(VTID_FILEVERTYPE, CheckFileVerType) \
TOOLARGS(TEXT("FILEVERTYPE"), TEXT("File Type:"), ALLFILES, NOEDIT, QueryFileVerType, OutputHexValue)\
\
LIBARGS(VTID_CHECKSUM, CheckFileCheckSum) \
TOOLARGS(TEXT("CHECKSUM"), TEXT("File CheckSum:"), ALLFILES, NOEDIT, QueryFileCheckSum, OutputHexValue)\
\
LIBARGS(VTID_PECHECKSUM, CheckFilePECheckSum) \
TOOLARGS(TEXT("PECHECKSUM"), TEXT("File Header CheckSum:"), ALLFILES, NOEDIT, QueryFilePECheckSum, OutputHexValue)\
\
LIBARGS(VTID_COMPANYNAME, CheckCompanyName) \
TOOLARGS(TEXT("COMPANYNAME"), TEXT("Company Name:"), ALLFILES, EDIT, QueryCompanyName, OutputStrValue)\
\
LIBARGS(VTID_PRODUCTVERSION, CheckProductVersion) \
TOOLARGS(TEXT("PRODUCTVERSION"), TEXT("Product Version:"), ALLFILES, EDIT, QueryProductVersion, OutputStrValue)\
\
LIBARGS(VTID_PRODUCTNAME, CheckProductName) \
TOOLARGS(TEXT("PRODUCTNAME"), TEXT("Product Name:"), ALLFILES, EDIT, QueryProductName, OutputStrValue)\
\
LIBARGS(VTID_FILEDESCRIPTION, CheckFileDescription) \
TOOLARGS(TEXT("FILEDESCRIPTION"), TEXT("File Description:"), ALLFILES, EDIT, QueryFileDescription, OutputStrValue)\
\
LIBARGS(VTID_FILEVERSION, CheckFileVersion) \
TOOLARGS(TEXT("FILEVERSION"), TEXT("File Version:"), ALLFILES, EDIT, QueryFileVersion, OutputStrValue)\
\
LIBARGS(VTID_ORIGINALFILENAME, CheckOriginalFileName) \
TOOLARGS(TEXT("ORIGINALFILENAME"), TEXT("Original File Name:"), ALLFILES, EDIT, QueryOriginalFileName, OutputStrValue)\
\
LIBARGS(VTID_INTERNALNAME, CheckInternalName) \
TOOLARGS(TEXT("INTERNALNAME"), TEXT("Internal Name:"), ALLFILES, EDIT, QueryInternalName, OutputStrValue)\
\
LIBARGS(VTID_LEGALCOPYRIGHT, CheckLegalCopyright) \
TOOLARGS(TEXT("LEGALCOPYRIGHT"), TEXT("Legal Copyright:"), ALLFILES, EDIT, QueryLegalCopyright, OutputStrValue)\
\
LIBARGS(VTID_16BITDESCRIPTION, Check16BitDescription) \
TOOLARGS(TEXT("DESCRIPTION"), TEXT("16 Bit Description:"), ALLFILES, EDIT, Query16BitDescription, OutputStrValue)\
\
LIBARGS(VTID_UPTOBINPRODUCTVER, CheckUpToBinProductVer) \
TOOLARGS(TEXT("UPTOBINPRODUCTVER"), TEXT("Up To Binary Product Version:"), ALLFILES, NOEDIT, QueryBinProductVer, OutputUpToBinVerValue)\
\