INF InterfaceInstall32 Section

This section creates one or more new device interface classes. After a new class is created, subsequently installed devices/drivers can be registered to support the new device interface class by using INF DDInstall.Interfaces sections in their respective INF files, or by calling IoRegisterDeviceInterface.




Specifies a GUID value identifying the newly exported device interface class.

To register an instance of the interface class, a specified GUID value in this section must be referenced by an INF AddInterface directive in an INF DDInstall.Interfaces section, or else the newly installed device's driver must call IoRegisterDeviceInterface with this GUID.

For more information about how to create a GUID, see Using GUIDs in Drivers. For the system-defined interface class GUIDS, see the appropriate headers, such as Ks.h for the kernel-streaming interfaces.

References an INF-writer-defined section, possibly with any of the system-defined extensions, elsewhere in this INF.

If specified, this entry must be zero.


When a specified InterfaceClassGUID is not already installed in the system, that interface class is installed as the corresponding DDInstall.Interfaces section is processed by the SetupAPI functions during device installation or when that device's driver makes the initial call to IoRegisterDeviceInterface.

Each install-interface-section name must be unique within the INF file and must follow the general rules for defining section names. For more information about these rules, see General Syntax Rules for INF Files.

Any specified install-interface-section has the following general form:

[interface-install-section] | 
[interface-install-section.nt] | 
[interface-install-section.ntx86] | 
[interface-install-section.ntia64] | (Windows XP and later versions of Windows)
[interface-install-section.ntamd64] (Windows XP and later versions of Windows)

AddReg=add-registry-section[, add-registry-section] ...
[AddProperty=add-property-section[, add-property-section] ...]  (Windows Vista and later versions of Windows)
[Copyfiles=@filename | file-list-section[, file-list-section] ...]
[DelReg=del-registry-section[, del-registry-section] ...]
[DelProperty=del-property-section[, del-property-section] ...]  (Windows Vista and later versions of Windows)
[Delfiles=file-list section[, file-list-section] ...]
[Renfiles=file-list-section[, file-list-section] ...]

For more information about the entries in the interface-install-section, see INF DDInstall Section.

Starting with Windows Vista, you can set device interface class properties by including INF AddProperty directives in an interface-install section. You can also delete device interface class properties by including INF DelProperty directives in an interface-install section. However, you should use an AddProperty or DelProperty directive only to modify device interface class properties that are new to Windows Vista or later versions of Windows operating systems. For device interface class properties that were introduced on Windows Server 2003, Windows XP, or Windows 2000, and that have corresponding registry value entries, you should continue to use INF AddReg directives and INF DelReg directives to set and delete the device interface class properties. These guidelines apply to system-defined properties and custom properties. For more information about how to use the AddProperty directive and DelProperty directive, see Using the INF AddProperty Directive and the INF DelProperty Directive.

An AddReg directive references one or more add-registry sections that set device-interface-specific information in the registry during installation of this interface. An HKR specified in such an add-registry section designates the ..DeviceClasses\{InterfaceClassGUID} key.

The registry information about this interface class should include at least a friendly name for the new device interface class and whatever information the higher level components need when they open and use this interface.

In addition, such an install-interface-section might use any of the optional directives shown here to specify interface-specific installation operations.

For more information about how to use the system-defined .nt, .ntx86, .ntia64, and .ntamd64 extensions, see Creating INF Files for Multiple Platforms and Operating Systems.

See also