INF Validation Errors and Warnings
This topic describes driver installation errors and warnings that can appear as a result of the automatic INF verification that Microsoft Visual Studio performs, or when you run the InfVerif tool.
Starting in Visual Studio 2015 with WDK 10, when you build your driver, the following INF file errors can appear in the Error List pane. If you are running InfVerif.exe from the command line, the tool displays these errors at the command prompt, or in the HTML version of the results.
Error Guidance
InfVerif follows a general rule that the lower the error number, the more severe the issue. Most error codes can be either a warning or an error depending on the arguments supplied to InfVerif.
Errors should be considered "must fix".
Warnings can be ignored if they are fully understood, but they are often symptoms of another problem. For instance, a warning about a section being unused could be a symptom of an INF directive being invoked incorrectly.
Handling Errors
You must fix all errors in order to pass driver tests in Hardware Dev Center.
Errors are related to the following conditions:
- The INF parser is unable to successfully interpret your INF
- The INF parser is able to interpret the INF only by making a default value assumption (ambiguous syntax)
- The arguments to InfVerif indicate that a rule set should be applied to the INF (such as InfVerif /h)
While you don't need to fix warnings before submitting your driver on the Dev Center, we recommend taking the time to understand the issue being reported. If you don't understand a given warning, your INF might not always behave as you expect.
Warnings are typically related to:
- Syntax that may be incorrect but has valid scenarios where it is appropriate
- Syntax that is valid for the given InfVerif parameters but is an error in other modes, such as Driver Isolation mode
Error Codes
In WDK 10.0.26100.1 (Windows 11, version 24H2), InfVerif.exe command 'infverif.exe /code' has the same information as the below table.
Error Code and Description | Error Levels |
---|---|
Code 1000 Message INF '<value>' could not be found. Details The INF file could not be located in the specified file path. |
/k: Error /u: Error /w: Error |
Code 1001 Message Invalid INF '<value>', must contain [Version] section and have signature "$Windows NT$". Details Driver INFs require a top-level [Version] section with metadata about the file format. This section was missing or indicated that the INF was in an unsupported format. |
/k: Error /u: Error /w: Error |
Code 1002 Message Invalid INF '<value>', parsing error on line <value>. The parser returned error 0x<value>. Details The INF contained a syntax error on the specified line that prevented parsing from continuing. Typically, additional error messages will indicate the manner of the failure, or the error code will indicate the problem. |
/k: Error /u: Error /w: Error |
Code 1003 Message INF has invalid or unknown file encoding, must be ANSI or UTF-16 LE. Details The encoding of the INF is not supported and may lead to a failure to parse the INF. The INF should be converted to UTF-16 LE. |
/k: Error /u: Error /w: Error |
Code 1005 Message Section name required for <value> directive. Details The indicated directive requires an argument specifying a section that contains more data, but this section was omitted. |
/k: Error /u: Error /w: Error |
Code 1006 Message Missing value for <value>. Details A required argument for the specified directive has been omitted. |
/k: Error /u: Error /w: Error |
Code 1007 Message Missing <value> for source file "<value>" in section [<value>]. Details A disk or file path was specified with an invalid subdirectory value. |
/k: Error /u: Error /w: Error |
Code 1008 Message Missing or invalid disk ID for '<value>' under [<value>] section. Details A disk or file path was specified with an invalid ID value. |
/k: Error /u: Error /w: Error |
Code 1010 Message Invalid ClassGuid "<value>", expecting {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}. Details The ClassGuid value is in an incorrect format. It should follow the standard GUID format, including braces and dashes. |
/k: Error /u: Error /w: Error |
Code 1011 Message Missing models section name in [Manufacturer] section. Details An entry in the [Manufacturer] section is missing the section name of the [Models] section. |
/k: Error /u: Error /w: Error |
Code 1013 Message Missing <value> <value> key in section <value>. Details A required key in the INF section is not specified. |
/k: Error /u: Error /w: Error |
Code 1014 Message Invalid <value> <value> key in section <value>. Details A required key in the INF section was found but was supplied with invalid data. |
/k: Error /u: Error /w: Error |
Code 1015 Message Invalid <value> path "<value>" in section <value>. Details The specified path had an incorrect format. |
/k: Error /u: Error /w: Error |
Code 1016 Message Failed to get <value> path for <value> file "<value>". Details The full path to the file could not be generated. The path is assembled using [SourceDisksFiles] and [SourceDisksNames] and may be missing or incorrectly listed in those sections. |
/k: Error /u: Error /w: Error |
Code 1017 Message Service name <value> is reserved for internal use only. Details This service name is reserved and must be changed. All names used in sample drivers are reserved. |
/k: Error /u: Error /w: Error |
Code 1019 Message Invalid <value> <value> GUID "<value>", expecting {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}. Details The GUID is in an incorrect format. It should follow the standard GUID format, including braces and dashes. |
/k: Error /u: Error /w: Error |
Code 1020 Message Filter level name "<value>" is reserved. Details The name of the filter level is reserved for use by internal state and may not be used as a filter level. |
/k: Error /u: Error /w: Error |
Code 1021 Message Service '<value>' exceeds maximum name length (<value>) when made unique. Details The name of the service exceeds the maximum service name length when made unique by appending the unique token to the name. |
/k: Error /u: Error /w: Error |
Code 1022 Message Service name '<value>' must utilize the unique names feature across all declarations. Details Multiple install sections within the INF use the same service name, but only a subset of them are utilizing the unique names capability. They must be consistent with the usage of the unique names capability. |
/k: Error /u: Error /w: Error |
Code 1078 Message Skipping <value> "<value>" specified under <value> directive. Details The specified entry is not valid in the context it is used. It may be valid in other contexts. |
/k: Error /u: Error /w: Error |
Code 1080 Message <value> directive missing <value>. Details An argument to the specified directive is missing. |
/k: Error /u: Error /w: Error |
Code 1081 Message <value> directive has invalid <value> "<value>". Details An invalid argument was specified for the directive. |
/k: Error /u: Error /w: Error |
Code 1082 Message <value> directive has invalid <value>. Details An invalid argument was specified for the directive. |
/k: Error /u: Error /w: Error |
Code 1083 Message <value> directive has invalid <value> on <value>. Details An invalid flag was specified for the directive. |
/k: Error /u: Error /w: Error |
Code 1084 Message Missing '<value>' directive for '<value>' directive with <value> "<value>" in section [<value>]. Details The directive requires an additional directive to be specified elsewhere and could not be found. For example, the UmdfService directive requires a corresponding UmdfLibraryVersion directive. |
/k: Error /u: Error /w: Error |
Code 1085 Message <value> directive incomplete. Details The directive requires additional arguments. |
/k: Error /u: Error /w: Error |
Code 1086 Message Duplicate <value> '<value>' may be skipped. Details The same piece of data was defined multiple times unnecessarily, such as multiple AddComponents specifying the same component name. |
/k: Error /u: Error /w: Error |
Code 1087 Message Cannot have both <value> and <value> directives, <value> will be ignored. Details Some definitions support only one directive or another and cannot both be used. For example, AddFilter supports specifying a filter level or position, but not both. |
/k: Error /u: Error /w: Error |
Code 1088 Message Duplicate <value> directive not allowed. Details A directive was specified multiple times, but only one can take effect. This may lead to non-deterministic behavior. |
/k: Error /u: Error /w: Error |
Code 1100 Message Source and destination <value> must match for file '<value>' when using CopyFiles with DIRID <value>. Details This error occurs when a file is copied or renamed from its original driver store name and location to a different name and location in the driver store. [SourceDisksFiles] [CopyFileSection] The driver store maintains the original driver package directory structure. In the code above, the original location of DriverFile.sys is <INF location>\x64, but the CopyFiles directive places it in <INF location>\SubDirectory. The same error would be shown if the file was renamed as part of the copy. |
/k: Error /u: Error /w: Error |
Code 1101 Message Security descriptors cannot be used with DIRID <value>. Details Security descriptors cannot be used with any file that has a destination directory of the specified DIRID. |
/k: Error /u: Error /w: Error |
Code 1102 Message Invalid directive <value>, cannot be used with DIRID <value>. Details The specified directive cannot be used on a file that has a destination directory of the specified DIRID. |
/k: Error /u: Error /w: Error |
Code 1103 Message Invalid flag 0x<value>, cannot be used with DIRID <value>. Details The specified flag cannot be used on a file that has a destination directory of the specified DIRID. |
/k: Error /u: Error /w: Error |
Code 1110 Message Cannot specify file '<value>' in a CopyINF directive. Details Only other INF files can be specified in a CopyINF directive. |
/k: Error /u: Error /w: Error |
Code 1141 Message Invalid device software binary '<value>', path must be relative to referencing driver package. Details An absolute path was specified to the software binary, but it must be a relative path. |
/k: Error /u: Error /w: Error |
Code 1142 Message Invalid device software in section [<value>], SoftwareType is <value> but <value> is missing. Details The specified software type requires the specified directive that was not specified. |
/k: Error /u: Error /w: Error |
Code 1144 Message Device software with SoftwareType <value> may not execute on all product types. Details The specified software type is only functional on Windows Desktop OS products and will not work with other product types. |
/k: Warning /u: Error /w: Warning |
Code 1150 Message Invalid directive <value> in section [<value>], cannot contain characters '' or ','. Details An invalid character was specified in the component ID. |
/k: Error /u: Error /w: Error |
Code 1160 Message Unknown threading model '<value>' specified for COM class '<value>', expecting 'Apartment', 'Free', 'Both', or 'Neutral'. Details The specified threading model value is not recognized. Supported types include 'Apartment', 'Free', 'Both', or 'Neutral'. |
/k: Error /u: Error /w: Error |
Code 1180 Message Invalid event channel in section [<value>], cannot have duplicate value (<value>) across multiple channels under section [<value>]. Details Multiple event channels have the same channel ID within a single provider. The channel IDs should be unique. For full details on event channels, see: ChannelType |
/k: Error /u: Error /w: Error |
Code 1181 Message Invalid event channel <value> value '<value>' in section [<value>], cannot be used with <value> <value>. Details The event channel specifies a value that is invalid with the channel type. For full details on event channels, see: ChannelType |
/k: Error /u: Error /w: Error |
Code 1182 Message Event channel <value> and <value> mismatch in section [<value>], expecting <value>=<value> for <value>=<value>. Details The event channel specifies a value that requires an additional parameter. This additional parameter is missing. For full details on event channels, see: ChannelType |
/k: Error /u: Error /w: Error |
Code 1199 Message The syntax '<value>' was introduced in OS version <value>.<value>.<value>, but DDInstall sections utilizing the syntax will install on earlier OS versions. Those DDInstall sections should be restricted to only install on <value>.<value>.<value> or higher using a TargetOSVersion decoration. Details The impacted DDInstall section will install on product versions that do not support the specified syntax. A build number should be added to the Models section to limit applicability of the DDInstall to only supported product versions. This will prevent the driver from installing on product versions where it will not function properly. For additional information, see: INF Manufacturer Section and Combining platform extensions and operating system versions |
/k: Error /u: Error /w: Error |
Code 1201 Message <value> entry has an extra value '<value>' and will be ignored. Details The specified directive has more arguments specified than are allowed. The extra values will be ignored. |
/k: Warning /u: Warning /w: Warning |
Code 1202 Message Included INF '<value>' not found. Only system provided INFs may be included. Details The Include directive has specified an INF that cannot be found. Only Microsoft-supplied Inbox INFs may be referenced with the Include directive. |
/k: Error /u: Error /w: Error |
Code 1203 Message Section [<value>] not found. Details A directive has referred to a section that does not exist, this may be a typo or an error in syntax. Verify the section name exists and is spelled correctly, or refer to the full documentation on the specified directive for additional details. |
/k: Error /u: Error /w: Error |
Code 1204 Message Provider cannot be "Microsoft", must be organization who authored INF. Details Only Microsoft is permitted to specify the provider as Microsoft. Provider names that begin with Microsoft are also not permitted. |
/k: Error /u: Error /w: Error |
Code 1205 Message Section [<value>] referenced from <value> and <value> directive. Details The same section was referenced from two different directives. For example: CopyFiles = FileSection DelFiles = FileSection |
/k: Warning /u: Warning /w: Warning |
Code 1206 Message Invalid reference of non-<value> section [<value>] from <value> directive. Details The same section was referenced from two different directives. For example: CopyFiles = FileSection AddFilter = FileSection |
/k: Error /u: Error /w: Error |
Code 1207 Message Directive '<value>' not allowed in MSFT INFs. Details Microsoft INFs are not permitted to use the specified directive. |
/k: Error /u: Error /w: Error |
Code 1208 Message Directive '<value>' not allowed. Details This directive is only allowed in Microsoft-supplied Inbox INF files and may not be used by third parties. |
/k: Error /u: Error /w: Error |
Code 1209 Message Section [<value>] is defined multiple times. Details Multiple sections with the same name are defined, the contents of them can be combined into one section. |
/k: Error /u: Error /w: Error |
Code 1210 Message Provider cannot be "<value>", must be set to "<value>". Details Provider name must match the /provider switch. |
/k: Error /u: Error /w: Error |
Code 1211 Message Cannot have multiple associated services under [<value>], "<value>" and "<value>". Only one service may use SPSVCINST_ASSOCSERVICE. Details The SPSVCINST_ASSOCSERVICE flag indicates that the service is the function driver for the device. A device can only have one associated function driver service. |
/k: Error /u: Error /w: Error |
Code 1212 Message Cannot have both [<value>] and [<value>] sections. Details The two specified section names cannot both be in the same INF file. |
/k: Error /u: Error /w: Error |
Code 1213 Message Cannot list CAT files under [SourceDisksFiles]. Details Catalog files should only be referenced from the CatalogFile directive within the [Version] section. |
/k: Error /u: Error /w: Error |
Code 1214 Message Invalid catalog file '<value>', expecting 'filename.cat'. Details The file names of catalog files must follow the format 'filename.cat'. |
/k: Error /u: Error /w: Error |
Code 1217 Message Invalid version '<value>' in <value> directive, expecting w.x.y.z, where each segment is between 0-65536. Details The version value in the specified directive must follow the format w.x.y.z, where each segment is between 0-65536. |
/k: Error /u: Error /w: Error |
Code 1218 Message Invalid driver date value <value> in <value>, expecting MM/DD/YYYY. Details The date in the DriverVer directive must follow the format MM/DD/YYYY. |
/k: Error /u: Error /w: Error |
Code 1220 Message Cannot directly reference a section defined in an included INF (<value>). Details Sections in included INFs can only be referenced using the Needs directive under the corresponding DDInstall sections. |
/k: Error /u: Error /w: Error |
Code 1222 Message Cannot modify <value>\<value> registry keys, although HKLM\SYSTEM\CurrentControlSet is allowed. Details The specified registry key is not allowed to be written to. Registry state should be written using an AddReg directive with a reg-root of HKR. |
/k: Error /u: Error /w: Error |
Code 1223 Message Cannot modify <value>\<value> registry key. Details The specified registry key is not allowed to be written to. Registry state should be written using an AddReg directive with a reg-root of HKR. |
/k: Error /u: Error /w: Error |
Code 1224 Message Invalid registry root "<value>". Details The specified registry root is invalid. For additional information, see INF AddReg Directive |
/k: Error /u: Error /w: Error |
Code 1225 Message Registry value '<value>' must be type '<value>'. Details The specified registry value is not of the required type. |
/k: Error /u: Error /w: Error |
Code 1226 Message Security descriptor not allowed for registry value '<value>' directly under <value>. Details The specified registry value has a security descriptor that cannot be set. Registry values directly under HKR cannot have alternative security descriptors set on them. |
/k: Error /u: Error /w: Error |
Code 1229 Message Missing <value> filename on <value> entry. Details The specified file operation required a name to be specified, but it was not specified. |
/k: Error /u: Error /w: Error |
Code 1230 Message Missing file '<value>' under [SourceDisksFiles] section. Details A file was specified in a CopyFiles or similar directive but could not be found in the [SourceDisksFiles] section, or the listing in [SourceDisksFiles] was invalid. This error frequently occurs when architecture-decorated versions of [SourceDisksFiles] are specified (such as [SourceDisksFiles.amd64]), but not all architectures supported by the INF have a [SourceDisksFiles] section. |
/k: Error /u: Error /w: Error |
Code 1231 Message Invalid compressed filename '<value>' specified under [SourceDisksFiles] section, expecting uncompressed filename '<value>'. Details Files specified within [SourceDisksFiles] must use the uncompressed filename and not the compressed version (myfile.sys not myfile.sy_). |
/k: Warning /u: Error /w: Error |
Code 1233 Message Missing directive <value> required for digital signature. Details The specified directive is required for the driver package to be signed but it is not present. |
/k: Error /u: Error /w: Error |
Code 1234 Message Required directive <value> missing, empty, or invalid in [<value>] section. Details The specified section requires that specified directive and it was not found. |
/k: Error /u: Error /w: Error |
Code 1235 Message String token '<value>' not defined in [<value>] section - if intending to use a literal '<value>' in a string, use '<value>' instead. Details A specified string token has no definition in the [Strings] section. For example, the INF file specifies %REG_DWORD% in an add-registry section specified by an AddReg directive, but there is no corresponding REG_DWORD = 0x00010001 in the [Strings] section. This error frequently occurs if your INF file specifies a registry value that contains an environment variable. For example: [MyAddReg] The %SystemRoot% path component is interpreted as the "SystemRoot" string substitution token from under the [Strings] section, rather than the intended behavior of storing the literal "%SystemRoot%" in the registry. To use the literal value %SystemRoot% rather than perform a string substitution, use the escape sequence %%. [MyAddReg] |
/k: Error /u: Error /w: Error |
Code 1241 Message Unresolvable user-defined DIRID (<value>) for source file "<value>" in section [<value>]. Details The user-defined DIRID could not be resolved. |
/k: Error /u: Error /w: Error |
Code 1242 Message Unresolvable DIRID (<value>) for source file "<value>" in section [<value>]. Details The specified DIRID value could not be resolved. |
/k: Error /u: Error /w: Error |
Code 1243 Message Invalid DIRID value (<value>) for source file "<value>" in section [<value>]. Details The specified DIRID value is not supported. |
/k: Error /u: Error /w: Error |
Code 1245 Message Invalid feature score '<value>'. Details The specified feature score was invalid. It should be specified as a single byte hex value within the range 00-FF. |
/k: Error /u: Error /w: Error |
Code 1250 Message Invalid EventLogType '<value>', expecting 'System', 'Application', or 'Security'. Details The specified event log type is not recognized. Supported types include 'System', 'Application', or 'Security'. |
/k: Error /u: Error /w: Error |
Code 1251 Message Cannot add disabled (StartType=4) service '<value>' with SPSVCINST_ASSOCSERVICE flag. Details The associated service cannot be created as a disabled service. |
/k: Warning /u: Warning /w: Warning |
Code 1252 Message Cannot add service '<value>' with <value>=<value> and ServiceType=<value>. Details The service configuration is conflicting or not supported for the specified service type. |
/k: Warning /u: Warning /w: Warning |
Code 1253 Message Skipping directive '<value>' without a service name in section [<value>]. Details The specified directive cannot be used as-is without a service name. If no service name is intentional, this may be due to incorrect flag usage. |
/k: Error /u: Error /w: Error |
Code 1254 Message Invalid service image path for service '<value>' with ServiceBinary='<value>'. Details The service image path could not be properly parsed. This may be due to incorrect or missing usage of quotation marks. |
/k: Error /u: Error /w: Error |
Code 1256 Message Invalid WMI interface flags '<value>'. Details The specified WMI interface flags have invalid flags set. |
/k: Error /u: Error /w: Error |
Code 1257 Message Registry operation value may be incorrect in some contexts, use <value> instead of Windows directory. Details A path was specified that can be changed to an environment variable. Use the environment variable instead to make the driver more robust against environment changes. |
/k: Error /u: Error /w: Error |
Code 1258 Message File path "<value>" in <value> may be incorrect in some device installation scenarios or contexts, use <value>\<subdirectory> instead. Details Use a runtime-resolvable path such as %SystemRoot% for values stored in the registry. DIRID values may be fully resolved at the time the driver is added to the image. When the driver INF is processed under different deployment scenarios (such as offline imaging or OS upgrade), an incorrect value may be stored. |
/k: Error /u: Error /w: Error |
Code 1260 Message Invalid <value> directive due to invalid <value>. Details The specified directive could not be parsed to the appropriate type. |
/k: Error /u: Error /w: Error |
Code 1261 Message Undefined device "<value>" with section [<value>]. Details The device install section for the specified device could not be found. |
/k: Error /u: Error /w: Error |
Code 1262 Message Invalid <value> entry due to non-byte bitmask '0x<value>. Details A registry value bitmask must be one byte in size. |
/k: Error /u: Error /w: Error |
Code 1263 Message Invalid <value> entry due to conflicting custom and known value types. Details A custom value type cannot be REG_NONE, REG_SZ, REG_EXPAND_SZ, or REG_MULTI_SZ. |
/k: Error /u: Error /w: Error |
Code 1264 Message Invalid <value> entry due to missing value type flag on custom value type. Details A custom value type must specify FLG_ADDREG_BINVALUETYPE. |
/k: Error /u: Error /w: Error |
Code 1265 Message Invalid <value> entry due to append flag on non multi-sz value. Details Append was specified on the registry value, but the value was not of a type that can be appended to. |
/k: Error /u: Error /w: Error |
Code 1266 Message Invalid <value> entry due to no value on a multi-sz delete. Details A value is being deleted from a multi-sz, but no value was specified to delete. |
/k: Error /u: Error /w: Error |
Code 1267 Message Invalid binary data in <value> entry, expecting one or more bytes between 00-FF. Details The specified field has an invalid value. |
/k: Error /u: Error /w: Error |
Code 1268 Message Invalid numeric value in <value> entry, expecting <value>-bit decimal (0+) or hexadecimal (0x0+) value. Details The specified field has an invalid value. |
/k: Error /u: Error /w: Error |
Code 1270 Message INF does not install a driver for any hardware IDs created in [DeviceInstall32] section. Details Devices created with a [DeviceInstall32] section should be installed using the same INF, but the install section was not specified. |
/k: Error /u: Error /w: Error |
Code 1271 Message Missing model install section name. Details The models section specified an applicable hardware ID but no install section to use for that hardware ID. |
/k: Error /u: Error /w: Error |
Code 1272 Message Ignoring service section [<value>] for unnamed service. Details The service was unnamed (no service) but specified a service install section. The service install section was ignored. |
/k: Error /u: Error /w: Error |
Code 1273 Message Source file "<value>" uses disk id <value>, which is not listed under [<value>]. Details The specified disk ID does not appear in the [SourceDisksNames] section. |
/k: Error /u: Error /w: Error |
Code 1274 Message Unresolved $ARCH$ token for section [<value>]. Must run stampinf tool to resolve case sensitive $ARCH$ tokens. Details The INF file uses tokens that stampinf would resolve but stampinf was not run. |
/k: Error /u: Error /w: Error |
Code 1275 Message <value> '<value>' is not listed in [DestinationDirs]. Details The specified file does not have a copy destination specified. |
/k: Error /u: Error /w: Error |
Code 1280 Message Class name and ClassGuid mismatch, expecting Class "<value>" for ClassGuid "<value>". Details The specified ClassGuid is a well-known class, but the Class value does not match the expected name of the class. |
/k: Error /u: Error /w: Error |
Code 1281 Message Class name and ClassGuid mismatch, expecting ClassGuid "<value>" for Class "<value>". Details The specified Class is a well-known class, but the ClassGuid value does not match the expected ClassGuid of the class. |
/k: Error /u: Error /w: Error |
Code 1284 Message Class "<value>" is reserved for use by Microsoft. Details The specified device class may not be used on any shipping drivers or products. Sample drivers will return this error if the sample is designed in a way that requires the author to specify an appropriate device class. |
/k: Error /u: Error /w: Error |
Code 1285 Message Cannot specify [ClassInstall32] section for Microsoft-defined class. Details As of Windows 10, IHV-supplied INFs are not allowed to use a [ClassInstall32] in an INF of any system-defined device setup class. |
/k: Error /u: Error /w: Error |
Code 1286 Message Invalid <value> value "<value>" exceeds max length of <value>. Details Class names cannot exceed 31 characters in length. |
/k: Error /u: Error /w: Error |
Code 1287 Message Invalid target OS version decoration '<value>' for model section name '<value>' under [<value>] section. Details The target OS version decoration could not be parsed, verify that it is correctly formed. For full details on the format specification, see: INF Manufacturer Section |
/k: Error /u: Error /w: Error |
Code 1288 Message Invalid target OS version '<value>.<value>.<value>', must be '<value>.<value>.<value>' or greater if specifying build number. Details Build number targeting was introduced with Windows 10, version 1607 (Build 14310 or later), so the build number specified must be greater or equal to 14310. |
/k: Error /u: Error /w: Error |
Code 1289 Message Missing directive '<value>' under [<value>] section. Details The specified directive is required by the specified section, but could not be found. |
/k: Error /u: Error /w: Error |
Code 1290 Message Invalid directive '<value>' for [<value>] section. Details The specified directive is invalid within the specified section. |
/k: Error /u: Error /w: Error |
Code 1292 Message <value> directive requires an indirect string in [Strings] section and referenced as <value>. Details The directive must be specified as an indirect string that can be resolved by the reader at runtime. |
/k: Error /u: Error /w: Error |
Code 1293 Message Service name '<value>' is reserved. Details The specified service name is reserved and may not be used by any drivers. |
/k: Error /u: Error /w: Error |
Code 1294 Message Duplicate <value> '<value>' in section [<value>]. Details The same value is specified multiple times in the same section. Remove the extraneous ones. |
/k: Error /u: Error /w: Error |
Code 1295 Message Section [<value>] contains a different number of strings than section [<value>]. Details The [Strings] section for every language must contain the same values. |
/k: Error /u: Error /w: Error |
Code 1296 Message Hardware '<value>' does not have an associated service using install section '<value>'. Details Starting in Windows 10, version 1809, this has changed from a Warning to an Error. The .Services sections are required for each defined target OS. This is good practice even prior to 1809. If an INF previously did not include this section because it relied on Microsoft-supplied Inbox driver services, then a .Services section that references a .Services section from a Microsoft-supplied Inbox INF using Needs and Include directives should be created. For example: [DDInstall.Services] For devices that do not require a function driver, this can be specified as follows: AddService = ,2 Only use this in the case where the INF is installing a device that does not need a function driver. For example, a device that requires only a filter driver, but not a function driver would have two AddService directives: AddService = MyFilterDriver,, My-Service-Install-Section |
/k: Error /u: Error /w: Error |
Code 1297 Message Device driver does not install on any devices, use primitive driver if this is intended. Details This indicates that the INF file is a device driver, but it is not being used as a device driver. This may cause issues in how the driver is treated by the driver store. If this is unintentional, check your INF to make sure that hardware IDs are correctly specified. If the driver is not intended to install on devices, convert it to a primitive driver. A primitive driver is a driver that installs on the whole system instead of on specific devices. For more information, see Converting to a primitive driver |
/k: Error /u: Error /w: Error |
Code 1299 Message Additional validation checks skipped due to parsing errors. Details The INF encountered parsing problems that prevented the parse from completing. There should be additional errors that point to the cause of the problem. |
/k: Error /u: Error /w: Error |
Code 1300 Message Found legacy <value> <value>. Details The INF performs a deprecated legacy operation that is not valid with modern Windows OS products. |
/k: Error /u: Error /w: Error |
Code 1301 Message Found legacy <value> operation<value>. Details The INF performs a deprecated legacy operation that is not valid with modern Windows OS products. |
/k: Error /u: Error /w: Error |
Code 1302 Message Found legacy <value> operation for '<value>'<value>. Details The INF performs a deprecated legacy operation that is not valid with modern Windows OS products. |
/k: Error /u: Error /w: Error |
Code 1303 Message Found legacy <value> operation defining <value> (<value>)<value>. Details The INF defines a co-installer or class installer, which are no longer supported in modern Windows OS products and should not be used. |
/k: Error /u: Error /w: Error |
Code 1304 Message Found legacy <value> operation using non-relative key (<value>\<value>)<value>. Details Registry operations should be done using a relative key (HKR). This will store the value in an appropriate location relative to the type of INF section where it is used. |
/k: Warning /u: Error /w: None |
Code 1305 Message Found legacy <value> operation using appendable multi-sz value (<value>\<value>)<value>. Details This INF deletes a value from a REG_MULTI_SZ or appends to an existing REG_MULTI_SZ. This leads to non- deterministic outcomes and should not be done. |
/k: Warning /u: Error /w: Error |
Code 1306 Message Found legacy <value> operation with non-system target path (<value>) for '<value>'<value>. Details The INF specifies a file copy with a destination that is outside the system path. |
/k: Warning /u: Error /w: None |
Code 1307 Message Found legacy <value> <value>. Details The INF performs a legacy operation that is only valid on desktop Windows OS products. |
/k: Warning /u: Error /w: Error |
Code 1308 Message Found legacy <value> operation<value>. Details INF files should only perform the additive operations required to configure the device. When a driver is deleted from the system, the appropriate operations to clean up the driver will be automatically performed. |
/k: Warning /u: Error /w: Error |
Code 1309 Message Found legacy <value> operation for '<value>'<value>. Details INF files should only perform the additive operations required to configure the device. When a driver is deleted from the system, the appropriate operations to clean up the driver will be automatically performed. |
/k: Warning /u: Error /w: Error |
Code 1310 Message Needed section [<value>] with suffix '.<value>' does not match suffix of first referencing section [<value>.<value>]. Details When using the Needs directive, the sections being referenced should have a suffix that matches the suffix of the referencing section. For example: [DDInstall.Services] Note that both sections have a .Services suffix. This error indicates that the specified section is being incorrectly parsed as if it was a section with a different suffix. |
/k: Error /u: Error /w: Error |
Code 1311 Message Needed section [<value>] must have suffix '.<value>' to match the first referencing section [<value>.<value>]. Details When using the Needs directive, the sections being referenced should have a suffix that matches the suffix of the referencing section. For example: [DDInstall.Services]Note that both sections have a .Services suffix. This error indicates that the specified section is being incorrectly parsed as if it was a section with a different suffix. |
/k: Error /u: Error /w: Error |
Code 1312 Message Needed section [<value>] with suffix '.<value>' does not match the suffix of the parent section [<value>]. Details When using the Needs directive, the sections being referenced should have a suffix that matches the suffix of the referencing section. For example: [DDInstall.Services]Note that both sections have a .Services suffix. This error indicates that the suffix of a needed section does not match the referencing section. |
/k: Error /u: Error /w: Error |
Code 1313 Message Needed section [<value>] must have suffix '.<value>' to match the suffix of the parent section [<value>]. Details When using the Needs directive, the sections being referenced should have a suffix that matches the suffix of the referencing section. For example: [DDInstall.Services]Note that both sections have a .Services suffix. This error indicates that the suffix of a needed section does not match the referencing section. |
/k: Error /u: Error /w: Error |
Code 1314 Message Needed section [<value>] found in included INF "<value>", not referenced from [<value>]. Details A section located in another INF was specified using the Needs directive. The INF containing the section must be referenced with the Include directive in the same section as the Needs directive. |
/k: Error /u: Error /w: Error |
Code 1315 Message Needed section [<value>] not found. Details A section specified using the Needs directive could not be located. |
/k: Error /u: Error /w: Error |
Code 1316 Message Needed decorated section [<value>.<value>] not found. Details A section specified using the Needs directive could not be located. |
/k: Error /u: Error /w: Error |
Code 1317 Message Needed undecorated section [<value>] is not part of the target OS platform. Details A section specified using the Needs directive could not be located using the supplied IAS file for the target OS. |
/k: Error /u: Error /w: Error |
Code 1318 Message Included INF "<value>" is not part of the target OS platform. Details An INF specified using the Include directive could not be located using the supplied IAS file for the target OS. |
/k: Error /u: Error /w: Error |
Code 1319 Message Section [<value>] must include file "<value>" to use the Needs directive on [<value>]. Details The specified section uses the Needs directive to reference a section but does not have an Include directive specifying the INF that contains the section. |
/k: Error /u: Error /w: Error |
Code 1320 Message Registry root '<value>\<value>' is not isolated to HKR. Details Registry keys must be under isolated HKR relative root locations. For full details, see Driver Package Isolation |
/k: None /u: None /w: Error |
Code 1321 Message Registry root (<value>\<value>) of value '<value>' is not isolated to HKR. Details Registry values must be under isolated HKR relative root locations. For full details, see Driver Package Isolation |
/k: None /u: None /w: Error |
Code 1322 Message Destination file path '<value>' for file '<value>' is not isolated to DIRID <value>. Details Files must specify their copy destination as DIRID 13. This keeps the files isolated under the driver store. For full details, see Driver Package Isolation |
/k: None /u: None /w: Error |
Code 1323 Message Service registry key '<value>' must be under the Parameters subkey. Details Registry values using a service-relative HKR root must be written under the Parameters subkey. For full details, see Driver Package Isolation |
/k: None /u: None /w: Error |
Code 1324 Message [Version] section should specify PnpLockdown=1 to prevent external apps from modifying installed driver files. Details PnpLockdown=1 must be specified in the [Version] section. This adds an additional level of security to driver package files to prevent tampering. |
/k: Warning /u: Warning /w: Error |
Code 1325 Message Unsupported COM class registration '<value>', only InprocServer32 supported. Details The specified type of COM class is not supported. |
/k: Warning /u: Warning /w: Error |
Code 1326 Message Unisolated file path '<value>', expecting FileName under <value>. Details The data file path specified must be a path relative to %%DriverData%%. |
/k: Warning /u: Warning /w: Error |
Code 1328 Message Unsupported file path '<value>' replaced with '<value>'. Details The specified file path could not be resolved. |
/k: None /u: None /w: Warning |
Code 1329 Message Cannot add filters with registry or property, use [DDInstall.Filters] section. Details Filter drivers cannot be added with a registry or property value. Filters should be added using a [DDInstall.Filters] section. |
/k: None /u: None /w: Error |
Code 1330 Message Cannot copy multiple different sources files ('<value>' and '<value>') to destination file '<value>'. Details Different files are being copied to a single location within the INF. In scenarios where the OS must perform all file copies in advance of a device being connected, the resulting state becomes non-deterministic. For full details, see InfVerif Error 1330 |
/k: Error /u: Error /w: Error |
Code 1331 Message Cannot set registry value '<value>\<value>\<value>' differently between sections [<value>] and [<value>]. Details The specified registry value is set differently between two different install section. In scenarios where the OS must perform all registry operations in advance of a device being connected, the resulting state becomes non-deterministic. For full details, see InfVerif Error 1330 |
/k: Warning /u: Error /w: Error |
Code 1332 Message Cannot set registry value '<value>\<value>\<value>' differently between sections [<value>] and [<value>] for service '<value>'. Details The specified registry value is set differently between two different service install section. In scenarios where the OS must perform all service operations in advance of a device being connected, the resulting state becomes non-deterministic. For full details, see InfVerif Error 1330 |
/k: Warning /u: Error /w: Error |
Code 1333 Message Cannot configure service '<value>' differently between sections [<value>] and [<value>]. Details The specified service is installed differently between two different install section. In scenarios where the OS must perform all service operations in advance of a device being connected, the resulting state becomes non-deterministic. For full details, see InfVerif Error 1330 |
/k: Warning /u: Error /w: Error |
Code 1340 Message Specified DIRID '<value>' not allowed. Details The specified DIRID has been deprecated and can no longer be used. |
/k: None /u: None /w: Error |
Code 1380 Message Invalid ExtensionId "<value>" specified in [Version] section. Details The ExtensionId value is in an incorrect format. It should follow the standard GUID format, including braces and dashes. |
/k: Error /u: Error /w: Error |
Code 1381 Message Missing ExtensionId directive in [Version] section. Details Extension INFs require an ExtensionId to be specified. |
/k: Error /u: Error /w: Error |
Code 1382 Message Cannot specify '<value>' directive in Extension INFs. Details Extension INFs do not support the specified directive. |
/k: Error /u: Error /w: Error |
Code 1383 Message Cannot specify '<value>' flag for services defined in extension INFs. Details Extension INFs do not support the specified service flag. |
/k: Error /u: Error /w: Error |
Code 1384 Message Use of filters with registry or property in extension INFs not recommended, use [DDInstall.Filters] section. Details Extension INFs may be installed on top of the base INF in any order. Using a registry or property directives to install filters may lead to non-deterministic stack ordering. |
/k: Warning /u: Warning /w: Warning |
Code 1400 Message Service '<value>' not specified in a UMDF service directive. Details The UMDF service is created, but it is not specified in any UMDF directive such as UmdfServiceOrder. |
/k: Error /u: Error /w: Error |
Code 1401 Message Directive '<value>' not supported in <value> version <value>.<value>. Details The specified WDF directive has been deprecated in the version of WDF utilized by the INF. |
/k: Error /u: Error /w: Error |
Code 1402 Message <value> version <value>.<value> has been deprecated, driver should be ported to use version <value> <value> driver model. Details The specified WDF version has been deprecated. The driver should be updated to use a newer version. For additional information, see Converting from UMDF1 to UMDF2 |
/k: None /u: None /w: Error |
Code 1420 Message [DefaultInstall]-based INF cannot be processed as Primitive. Details The INF uses a [DefaultInstall] section, but it does not meet the requirements to be processed as a Primitive INF. |
/k: Error /u: Error /w: Error |
Code 1421 Message Section [<value>] missing an architecture decoration. Details All [DefaultInstall] sections should have an architecture decoration. |
/k: Error /u: Error /w: Error |
Code 1422 Message [DefaultUninstall.NT*] section should set LegacyUninstall=1 to support both Primitive INF and downlevel install compatibility. Details A primitive INF should not specify any uninstall behavior. To support legacy platforms, the uninstall section may specify LegacyUninstall=1 to utilize the uninstall section only on legacy platforms. |
/k: Error /u: Error /w: Error |
Code 1423 Message Primitive drivers require an architecture-decorated [<value>] section. Details Primitive drivers require at least one architecture-decorated [DefaultInstall] section. |
/k: Error /u: Error /w: Error |
Code 1430 Message Registry value '<value>' not allowed under '<value>\<value>'. Details The specified registry value is not allowed. |
/k: Error /u: Error /w: Error |
Code 1431 Message Well-known registry value '<value>' has incorrect type, expecting value type <value>. Details The specified registry value is a well-known value and must have a specific type, otherwise it may not be interpreted correctly by the OS or other applications. |
/k: Error /u: Error /w: Error |
Code 1450 Message Legacy unisolated directive '<value>' may be ignored. Details The specified directive may have no effect on some OS versions or product types. |
/k: None /u: None /w: Warning |
Code 2004 Message Use of <value> directive not recommended. Details The specified directive is valid, however it is not recommended. |
/k: Warning /u: Warning /w: Warning |
Code 2006 Message Undefined service '<value>' under [<value>] section. Details The specified service was declared with an AddService directive, but the corresponding service install section could not be located. |
/k: Error /u: Error /w: Error |
Code 2008 Message Section name [<value>] is also used by an included INF. Details The same section name is used both in this INF as well as an INF specified with an Include directive. This may lead to incorrect parsing results. |
/k: Error /u: Error /w: Error |
Code 2009 Message Legacy directive '<value>' will be ignored. Details The specified directive has been deprecated and will be ignored in most parsing scenarios. |
/k: Warning /u: Warning /w: Warning |
Code 2010 Message Section [<value>] should have '.<value>' decoration. Details The specified section does not have an architecture decoration and will be implicitly treated as the x86 architecture. The architecture should be explicitly declared. |
/k: Warning /u: Warning /w: Warning |
Code 2083 Message Section [<value>] not referenced or used. Details The specified section will not be used during device installation. If this is unintentional there may be another error that prevents the usage. |
/k: Warning /u: Warning /w: Warning |
Code 2084 Message Service binary '<value>' should reference a CopyFiles destination file. Details The service is registered using a service binary that is not part of the driver package. This error may occur in some cases because the service binary was specified incorrectly, such as missing quotes around a path with spaces. For additional details, see InfVerif Error 2084 |
/k: Warning /u: Warning /w: Error |
Code 2085 Message Service binary '<value>' should be specified as a path under a DIRID. Details The service binary path is required to be specified as a path under a DIRID value, such as %%13%%\binary.sys. For additional information about DIRIDs, see Using DIRIDs |
/k: Error /u: Error /w: Error |
Code 2090 Message Replaced legacy pattern in section '<value>' using '<value>'. Updated syntax support begins in OS version '<value>.<value>.<value>'. Details A legacy mechanism was identified and automatically replaced with an up-to-date alternative during parsing. The INF should be updated to use the up-to-date mechanism. For full details, see INF Shims |
/k: Error /u: Error /w: Error |
Code 2091 Message Unable to replace legacy pattern in section '<value>' using '<value>'. Details A legacy mechanism was identified in the INF but could not be automatically replaced with an up-to-date alternative. The INF should be updated to use the up-to-date mechanism. For full details, see INF Shims |
/k: Error /u: Error /w: Error |
Code 2092 Message Replaced legacy pattern in section '<value>' using '<value>' to follow best practices. Updated syntax support begins in OS version '<value>.<value>.<value>'. Details A legacy mechanism was identified and automatically replaced with an up-to-date alternative during parsing. The INF should be updated to use the up-to-date mechanism. For full details, see INF Shims |
/k: None /u: None /w: Error |
Code 2093 Message Unable to apply shim '<value>'. Details An INF shim failed to apply correctly. This is not a critical error. An INF shim is an adjustment of the INF that happens automatically to improve the install behavior of certain patterns within an INF. For full details, see INF Shims |
/k: Error /u: Error /w: Error |
Code 2400 Message <value> directive requires two fields: <component id>,<component section> Details The specified directive does not contain the required fields. |
/k: Error /u: Error /w: Error |
Code 2402 Message Section [<value>] does not permit <value> directive. Details The specified directive is not allowed in the specified section. |
/k: Error /u: Error /w: Error |
Code 2403 Message <value> directive must have exactly 1 field. <value> were provided. Details The directive contains the wrong number of fields. |
/k: Error /u: Error /w: Error |
Code 2405 Message Only INFs with Class name "NetDriver" can use [DefaultInstall.NetDrivers] section. Details The specified section cannot be used except by the "NetDriver" class. |
/k: Error /u: Error /w: Error |
Code 2411 Message Invalid <value> GUID "<value>", expecting {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}. Run guidgen.exe to generate a new GUID. Details The specified GUID value is in an incorrect format. It should follow the standard GUID format, including braces and dashes. |
/k: Error /u: Error /w: Error |
Code 2412 Message Invalid Component Identifier value '<value>', expecting a valid identifier matching '[a-z0-9_]+'. Details The specified component identifier value was invalid. |
/k: Error /u: Error /w: Error |
Code 2413 Message Invalid <value> value '<value>', expecting case-sensitive values 'true' and 'false'. Details The specified value was invalid, expecting 'true' or 'false'. |
/k: Error /u: Error /w: Error |
Code 2414 Message Invalid <value> value '<value>', expecting a valid filter class matching '[a-z0-9_]+'. Details The specified filter class had an invalid format. |
/k: Error /u: Error /w: Error |
Code 2415 Message Invalid value '<value>', only OS components may use identifiers starting with 'ms_' or 'vms_'. Details Third party INFs may not use identifiers beginning with 'ms_' or 'vms_'. |
/k: Error /u: Error /w: Error |
Code 2416 Message Invalid <value> value '<value>', expecting a comma-separated list of valid bind tokens matching '[a-z0-9_.]+'. Details The specified list of bind tokens was invalid. |
/k: Error /u: Error /w: Error |
Code 2417 Message Invalid <value> value '<value>', expecting a valid bind name matching regex '[a-zA-Z0-9_]+'. Details The specified bind name was invalid. |
/k: Error /u: Error /w: Error |
Code 2418 Message Modifying Filter Drivers require a 'FilterClass'. Details Network filter drivers require a filter class to be specified. |
/k: Error /u: Error /w: Error |
Code 2419 Message Bind token '<value>' and all non-standard tokens beginning with 'ms_' or 'ndis' are reserved. Details The specified token is reserved and should not be used. |
/k: Error /u: Error /w: Error |
Code 2420 Message NetDriver INFs require a [<value>] section with at least one AddNetFilter or AddNetProtocol directive. Details NetDriver INFs require the specified section and directives. |
/k: Error /u: Error /w: Error |
Code 2500 Message Legacy bind token '<value>' is obsolete and no longer supported. Details The specified token is no longer supported and should not be used. |
/k: Error /u: Error /w: Error |
Code 2501 Message Referenced service '<value>' is not present in this INF. Details The INF references a service that is not created by this INF. |
/k: Error /u: Error /w: Error |
Code 2600 Message <value> '<value>' must point to a path under DIRID <value>. Details Display drivers must use the specified DIRID for file paths. |
/k: Error /u: Error /w: Error |
Code 2601 Message <value> '<value>' must point to a path under DIRID <value>. Details Display drivers must use the specified DIRID for file paths. |
/k: Error /u: Error /w: Error |
Code 2602 Message Service '<value>' must have a <value> value of <value>. Details A display service must set the specified value appropriately. |
/k: Error /u: Error /w: Error |
Code 2603 Message Directive '<value>' is invalid for display drivers. Details Display drivers may not use the specified directive. |
/k: Warning /u: Error /w: Error |
Code 2650 Message Direct use of '<value>' is not allowed, instead Include [<value>]. Details The INF should use Include/Needs directives to reference Microsoft-supplied INF file sections instead of directly referencing its driver binaries. |
/k: Error /u: Error /w: Error |
Code 2651 Message Needs indicates [<value>], but '<value>' not included. Details The Needs directive was used to reference a section, but the Include directive was not used to specify the Microsoft-supplied INF containing that section. |
/k: Error /u: Error /w: Error |
Code 2652 Message Section [<value>] must use Needs directive to reference [<value>]. Details Camera INFs must use the Needs directives to reference the specified Microsoft-provided sections. |
/k: Error /u: Error /w: Error |
Code 2660 Message Cannot modify HKCR\<value> registry subkey. It must be under HKR. Details The specified registry subkey is not allowed to be written to. Registry state should be written using an AddReg directive with a reg-root of HKR. |
/k: Error /u: Error /w: Error |
Code 2661 Message Only a device with AudioProcessingObject class is allowed to write to <value> registry subkey. Details The specified registry subkey is not allowed to be written to for the current class. |
/k: Error /u: Error /w: Error |