INF InterfaceInstall32 Section

This section creates one or more new device interface classes. After a new class is created, subsequently installed devices/drivers can register support for the new device interface class by calling IoRegisterDeviceInterface.

[InterfaceInstall32]
 
{InterfaceClassGUID}=install-interface-section[,flags]
...

Entries

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

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

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.

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

flags
If specified, this entry must be zero.

Remarks

When a specified InterfaceClassGUID is not already installed in the system, that interface class is installed as the corresponding DDInstall.Interfaces section is processed 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)
[interface-install-section.ntarm] | (Windows 8 and later versions of Windows)
[interface-install-section.ntarm64] (Windows 10 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)
[BitReg=bit-registry-section[,bit-registry-section]...]
[Delfiles=file-list section[, file-list-section] ...]
[Renfiles=file-list-section[, file-list-section] ...]
[UpdateInis=update-ini-section[,update-ini-section]...]
[UpdateIniFields=update-inifields-section[,update-inifields-section]...]
[Ini2Reg=ini-to-registry-section[,ini-to-registry-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.

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, .ntamd64, .ntarm, .ntarm64 extensions, see Creating INF Files for Multiple Platforms and Operating Systems.

See also

AddProperty

AddReg

BitReg

ClassInstall32

CopyFiles

DDInstall

DDInstall.Interfaces

DelFiles

DelProperty

DelReg

Ini2Reg

IoRegisterDeviceInterface

RenFiles

UpdateIniFields

UpdateInis