windows-nt/Source/XPSP1/NT/public/sdk/inc/infstr.h
2020-09-26 16:20:57 +08:00

300 lines
12 KiB
C

/*** infstr.h - SetupAPI INF string definitions
*
* This module contains public registry string definitions.
*
* Copyright (c) Microsoft Corporation. All rights reserved.
*
* MODIFICATION HISTORY
*/
#ifndef _INC_INFSTR
#define _INC_INFSTR
#if _MSC_VER > 1000
#pragma once
#endif
//***************************************************************************
//
// Misc. key strings used by Setup Info. File
//
//***************************************************************************
#define MAX_KEY_LEN 100
#define SZ_KEY_OPTIONDESC TEXT("OptionDesc")
#define SZ_KEY_LDIDOEM TEXT("LdidOEM")
#define SZ_KEY_SRCDISKFILES TEXT("SourceDisksFiles")
#define SZ_KEY_SRCDISKNAMES TEXT("SourceDisksNames")
#define SZ_KEY_STRINGS TEXT("Strings")
#define SZ_KEY_DESTDIRS TEXT("DestinationDirs")
#define SZ_KEY_LAYOUT_FILE TEXT("LayoutFile")
#define SZ_KEY_DEFDESTDIR TEXT("DefaultDestDir")
#define SZ_KEY_LFN_SECTION TEXT("VarLDID.LFN")
#define SZ_KEY_SFN_SECTION TEXT("VarLDID.SFN")
#define SZ_KEY_UPDATEINIS TEXT("UpdateInis")
#define SZ_KEY_UPDATEINIFIELDS TEXT("UpdateIniFields")
#define SZ_KEY_INI2REG TEXT("Ini2Reg")
#define SZ_KEY_COPYFILES TEXT("CopyFiles")
#define SZ_KEY_RENFILES TEXT("RenFiles")
#define SZ_KEY_DELFILES TEXT("DelFiles")
#define SZ_KEY_ADDREG TEXT("AddReg")
#define SZ_KEY_ADDREGNOCLOBBER TEXT("AddRegNoClobber")
#define SZ_KEY_DELREG TEXT("DelReg")
#define SZ_KEY_BITREG TEXT("BitReg")
#define SZ_KEY_COPYINF TEXT("CopyINF")
#define SZ_KEY_LOGCONFIG TEXT("LogConfig")
#define SZ_KEY_ADDSERVICE TEXT("AddService")
#define SZ_KEY_DELSERVICE TEXT("DelService")
#define SZ_KEY_ADDINTERFACE TEXT("AddInterface")
#define SZ_KEY_ADDIME TEXT("AddIme")
#define SZ_KEY_DELIME TEXT("DelIme")
#define SZ_KEY_REGSVR TEXT("RegisterDlls")
#define SZ_KEY_UNREGSVR TEXT("UnregisterDlls")
#define SZ_KEY_PROFILEITEMS TEXT("ProfileItems")
#define SZ_KEY_MODULES TEXT("Modules")
#define SZ_KEY_DEFAULTOPTION TEXT("DefaultOption")
#define SZ_KEY_LISTOPTIONS TEXT("ListOptions")
#define SZ_KEY_CLEANONLY TEXT("CleanOnly")
#define SZ_KEY_UPGRADEONLY TEXT("UpgradeOnly")
#define SZ_KEY_EXCLUDEID TEXT("ExcludeId")
// These are here for compatability with SetupX
// They are registry keys, and are not used by SetupAPI
#define SZ_KEY_PHASE1 TEXT("Phase1")
#define SZ_KEY_HARDWARE TEXT("Hardware")
// Foll. char is used to enclose a STRING KEY -- A key enclosed by this char
// should be in the [Strings] section of the INF file.
#define CH_STRINGKEY TEXT('%')
// Foll. char is used to specify that what follows it is a file name
// rather than a section with files in the Copy= file of a Generic
// Install_Section.
//
#define CH_FILESPECIFIER TEXT('@')
/*** Strings that will be used in the PnP INF files to specify
* LogConfig information, etc. This will be used to update the
* registry appropriately.
*/
#define INFSTR_KEY_CONFIGPRIORITY TEXT("ConfigPriority")
// Foll. is length of buffer for the strings like HARDWIRED, etc.
#define MAX_PRIORITYSTR_LEN 16
/*** Foll. are strings that can be used for ConfigPriority=
*/
#define INFSTR_CFGPRI_HARDWIRED TEXT("HARDWIRED")
#define INFSTR_CFGPRI_DESIRED TEXT("DESIRED")
#define INFSTR_CFGPRI_NORMAL TEXT("NORMAL")
#define INFSTR_CFGPRI_SUBOPTIMAL TEXT("SUBOPTIMAL")
#define INFSTR_CFGPRI_DISABLED TEXT("DISABLED")
#define INFSTR_CFGPRI_RESTART TEXT("RESTART")
#define INFSTR_CFGPRI_REBOOT TEXT("REBOOT")
#define INFSTR_CFGPRI_POWEROFF TEXT("POWEROFF")
#define INFSTR_CFGPRI_HARDRECONFIG TEXT("HARDRECONFIG")
#define INFSTR_CFGPRI_FORCECONFIG TEXT("FORCECONFIG")
#define INFSTR_CFGTYPE_BASIC TEXT("BASIC")
#define INFSTR_CFGTYPE_FORCED TEXT("FORCED")
#define INFSTR_CFGTYPE_OVERRIDE TEXT("OVERRIDE")
#define INFSTR_KEY_MEMCONFIG TEXT("MemConfig")
#define INFSTR_KEY_IOCONFIG TEXT("IOConfig")
#define INFSTR_KEY_IRQCONFIG TEXT("IRQConfig")
#define INFSTR_KEY_DMACONFIG TEXT("DMAConfig")
#define INFSTR_KEY_PCCARDCONFIG TEXT("PcCardConfig")
#define INFSTR_KEY_MFCARDCONFIG TEXT("MfCardConfig")
//
// Used to install a class installer
//
#define INFSTR_SECT_CLASS_INSTALL TEXT("ClassInstall")
#define INFSTR_SECT_CLASS_INSTALL_32 TEXT("ClassInstall32")
//
// Used to install an interface class
//
#define INFSTR_SECT_INTERFACE_INSTALL_32 TEXT("InterfaceInstall32")
// General information about the contents/origins of the .INF.
#define INFSTR_SECT_VERSION TEXT("Version")
// Provider name under [version] section
#define INFSTR_KEY_PROVIDER TEXT("Provider")
// Signature under [version] section indicates a Win95-style device INF
#define INFSTR_KEY_SIGNATURE TEXT("Signature")
// [Version]
// Specifies what the hardware class of any devices contained in this .INF.
#define MAX_INF_FLAG 20
#define INFSTR_KEY_HARDWARE_CLASS TEXT("Class")
#define INFSTR_KEY_HARDWARE_CLASSGUID TEXT("ClassGUID")
#define INFSTR_KEY_NOSETUPINF TEXT("NoSetupInf")
#define INFSTR_KEY_FROMINET TEXT("FromINet")
#define INFSTR_KEY_CATALOGFILE TEXT("CatalogFile")
//
// Manufacturer section name
//
#define INFSTR_SECT_MFG TEXT("Manufacturer")
//
// Specifies the hardware class of this device.
//
#define INFSTR_KEY_CLASS TEXT("Class")
#define INFSTR_KEY_CLASSGUID TEXT("ClassGUID")
//
// Used by (Setup)DiInstallDevice to know that need to reboot or restart after
// installing the device.
//
#define INFSTR_RESTART TEXT("Restart")
#define INFSTR_REBOOT TEXT("Reboot")
//
// Used by SetupDiInstallDevice to specify the service parameters passed
// to the Service Control Manager to create/modify a service.
//
#define INFSTR_KEY_DISPLAYNAME TEXT("DisplayName")
#define INFSTR_KEY_SERVICETYPE TEXT("ServiceType")
#define INFSTR_KEY_STARTTYPE TEXT("StartType")
#define INFSTR_KEY_ERRORCONTROL TEXT("ErrorControl")
#define INFSTR_KEY_SERVICEBINARY TEXT("ServiceBinary")
#define INFSTR_KEY_LOADORDERGROUP TEXT("LoadOrderGroup")
#define INFSTR_KEY_DEPENDENCIES TEXT("Dependencies")
#define INFSTR_KEY_STARTNAME TEXT("StartName")
#define INFSTR_KEY_SECURITY TEXT("Security")
#define INFSTR_KEY_DESCRIPTION TEXT("Description")
// The following are the characters to parse IORange and MemRange fields.
#define CH_SIZE_DELIM TEXT('@')
#define CH_MINMAX_SEP TEXT('-')
#define CH_ALIGNMASK_BEGIN TEXT('%')
#define CH_TRAIL_BEGIN TEXT('(')
#define CH_TRAIL_SEP TEXT(':')
#define CH_TRAIL_END TEXT(')')
// The following is char to parse IRQ and DMA attr from the numbers!
#define CH_ATTR_DELIM TEXT(':')
// The following is for Windows 9x System Detection
#define INFSTR_SECT_DETMODULES TEXT("Det.Modules")
#define INFSTR_SECT_DETCLASSINFO TEXT("Det.ClassInfo")
#define INFSTR_SECT_MANUALDEV TEXT("Det.ManualDev")
#define INFSTR_SECT_AVOIDCFGSYSDEV TEXT("Det.AvoidCfgSysDev")
#define INFSTR_SECT_REGCFGSYSDEV TEXT("Det.RegCfgSysDev")
#define INFSTR_SECT_DEVINFS TEXT("Det.DevINFs")
#define INFSTR_SECT_AVOIDINIDEV TEXT("Det.AvoidIniDev")
#define INFSTR_SECT_AVOIDENVDEV TEXT("Det.AvoidEnvDev")
#define INFSTR_SECT_REGINIDEV TEXT("Det.RegIniDev")
#define INFSTR_SECT_REGENVDEV TEXT("Det.RegEnvDev")
#define INFSTR_SECT_HPOMNIBOOK TEXT("Det.HPOmnibook")
#define INFSTR_SECT_FORCEHWVERIFY TEXT("Det.ForceHWVerify")
#define INFSTR_SECT_DETOPTIONS TEXT("Det.Options")
#define INFSTR_SECT_BADPNPBIOS TEXT("BadPnpBios")
#define INFSTR_SECT_GOODACPIBIOS TEXT("GoodACPIBios")
#define INFSTR_SECT_BADACPIBIOS TEXT("BadACPIBios")
#define INFSTR_SECT_BADROUTINGTABLEBIOS TEXT("BadPCIIRQRoutingTableBios")
#define INFSTR_SECT_BADPMCALLBIOS TEXT("BadProtectedModeCallBios")
#define INFSTR_SECT_BADRMCALLBIOS TEXT("BadRealModeCallBios")
#define INFSTR_SECT_MACHINEIDBIOS TEXT("MachineIDBios")
#define INFSTR_SECT_BADDISKBIOS TEXT("BadDiskBios")
#define INFSTR_SECT_BADDSBIOS TEXT("BadDSBios")
#define INFSTR_KEY_DETPARAMS TEXT("Params")
#define INFSTR_KEY_SKIPLIST TEXT("SkipList")
#define INFSTR_KEY_DETECTLIST TEXT("DetectList")
#define INFSTR_KEY_EXCLUDERES TEXT("ExcludeRes")
//Subkeys are used in the form x.<subkey>
#define INFSTR_SUBKEY_LOGCONFIG TEXT("LogConfig")
#define INFSTR_SUBKEY_DET TEXT("Det")
#define INFSTR_SUBKEY_FACTDEF TEXT("FactDef")
#define INFSTR_SUBKEY_POSSIBLEDUPS TEXT("PosDup")
#define INFSTR_SUBKEY_NORESOURCEDUPS TEXT("NoResDup")
#define INFSTR_SUBKEY_HW TEXT("Hw")
#define INFSTR_SUBKEY_CTL TEXT("CTL")
#define INFSTR_SUBKEY_SERVICES TEXT("Services")
#define INFSTR_SUBKEY_INTERFACES TEXT("Interfaces")
#define INFSTR_SUBKEY_COINSTALLERS TEXT("CoInstallers")
#define INFSTR_SUBKEY_LOGCONFIGOVERRIDE TEXT("LogConfigOverride")
// Control Section
#define INFSTR_CONTROLFLAGS_SECTION TEXT("ControlFlags")
#define INFSTR_KEY_COPYFILESONLY TEXT("CopyFilesOnly")
#define INFSTR_KEY_EXCLUDEFROMSELECT TEXT("ExcludeFromSelect")
#define INFSTR_KEY_INTERACTIVEINSTALL TEXT("InteractiveInstall")
// Platform-specific suffixes (e.g., "ExcludeFromSelect.NT")
#define INFSTR_PLATFORM_WIN TEXT("Win")
#define INFSTR_PLATFORM_NT TEXT("NT")
#define INFSTR_PLATFORM_NTX86 TEXT("NTx86")
#define INFSTR_PLATFORM_NTMIPS TEXT("NTMIPS")
#define INFSTR_PLATFORM_NTALPHA TEXT("NTAlpha")
#define INFSTR_PLATFORM_NTPPC TEXT("NTPPC")
#define INFSTR_PLATFORM_NTIA64 TEXT("NTIA64")
#define INFSTR_PLATFORM_NTAXP64 TEXT("NTAXP64")
#define INFSTR_PLATFORM_NTAMD64 TEXT("NTAMD64")
// Fields that will by used to dereference strings.
// These are of the form x.<strkey> were strkey is limited to
// MAX_INFSTR_STRKEY_LEN characters
#define MAX_INFSTR_STRKEY_LEN 32
#define INFSTR_STRKEY_DRVDESC TEXT("DriverDesc")
// DriverSelect
#define INFSTR_DRIVERSELECT_SECTION TEXT("DriverSelect")
#define INFSTR_DRIVERSELECT_FUNCTIONS TEXT("DriverSelectFunctions")
// Driver Version
#define INFSTR_DRIVERVERSION_SECTION TEXT("DriverVer")
// The following is for PCMCIA.INF parsing
#define INFSTR_SECT_CFGSYS TEXT("ConfigSysDrivers")
#define INFSTR_SECT_AUTOEXECBAT TEXT("AutoexecBatDrivers")
#define INFSTR_SECT_SYSINI TEXT("SystemIniDrivers")
#define INFSTR_SECT_SYSINIDRV TEXT("SystemIniDriversLine")
#define INFSTR_SECT_WININIRUN TEXT("WinIniRunLine")
//Keys in the config.sys device sections
#define INFSTR_KEY_PATH TEXT("Path")
#define INFSTR_KEY_NAME TEXT("Name")
#define INFSTR_KEY_IO TEXT("IO")
#define INFSTR_KEY_MEM TEXT("Mem")
#define INFSTR_KEY_IRQ TEXT("IRQ")
#define INFSTR_KEY_DMA TEXT("DMA")
//Fields of detection function registration
#define INFSTR_BUS_ISA TEXT("BUS_ISA")
#define INFSTR_BUS_EISA TEXT("BUS_EISA")
#define INFSTR_BUS_MCA TEXT("BUS_MCA")
#define INFSTR_BUS_ALL TEXT("BUS_ALL")
#define INFSTR_RISK_NONE TEXT("RISK_NONE")
#define INFSTR_RISK_VERYLOW TEXT("RISK_VERYLOW")
#define INFSTR_RISK_BIOSROMRD TEXT("RISK_BIOSROMRD")
#define INFSTR_RISK_QUERYDRV TEXT("RISK_QUERYDRV")
#define INFSTR_RISK_SWINT TEXT("RISK_SWINT")
#define INFSTR_RISK_LOW TEXT("RISK_LOW")
#define INFSTR_RISK_DELICATE TEXT("RISK_DELICATE")
#define INFSTR_RISK_MEMRD TEXT("RISK_MEMRD")
#define INFSTR_RISK_IORD TEXT("RISK_IORD")
#define INFSTR_RISK_MEMWR TEXT("RISK_MEMWR")
#define INFSTR_RISK_IOWR TEXT("RISK_IOWR")
#define INFSTR_RISK_UNRELIABLE TEXT("RISK_UNRELIABLE")
#define INFSTR_RISK_VERYHIGH TEXT("RISK_VERYHIGH")
#define INFSTR_CLASS_SAFEEXCL TEXT("SAFE_EXCL")
#define INFSTR_SECT_DISPLAY_CLEANUP TEXT("DisplayCleanup")
#endif //_INC_INFSTR