Previous Next

INF InterfaceInstall32 Section

[InterfaceInstall32]
 

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

This section sets up one or more new device interface classes. In effect, this section bootstraps a new device interface class, so that 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.

Entry Values

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

To register an instance of the interface class, a given 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.

install-interface-section
References an INF-writer-defined section, possibly with any of the system-defined extensions, elsewhere in this INF.
flags
If specified, must be zero.

Comments

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

Each INF-writer-created interface-install-section name must be unique within the INF and must follow the general rules for defining section names. These rules are described in General Syntax Rules for INF Files.

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

[interface-install-section] |
[
interface-install-section.nt] |
[
interface-install-section.ntx86] |
[
interface-install-section.ntia64]
 

AddReg=add-registry-section[, add-registry-section] ...
[Copyfiles=@filename | file-list-section[, file-list-section] ...]
[DelReg=del-registry-section[, del-registry-section] ...]
[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]...]
...

As shown here, an interface-install section must have at least one AddReg directive that references one or more add-registry sections to set up 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 that open and use this interface will need.

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

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

See Also

AddReg, BitReg, ClassInstall32, CopyFiles, DDInstall, DDInstall.Interfaces, DelFiles, DelReg, Ini2Reg, IoRegisterDeviceInterface, RenFiles, UpdateIniFields, UpdateInis