Раздел INF ControlFlags

Раздел ControlFlags определяет устройства, для которых Windows должна выполнять определенные уникальные действия во время установки.

[ControlFlags]

ExcludeFromSelect=* | 
ExcludeFromSelect=device-identification-string[,device-identification-string] ...] | 
[ExcludeFromSelect.nt=device-identification-string[,device-identification-string] ...] | 
[ExcludeFromSelect.ntx86=device-identification-string[,device-identification-string] ...] | 
[ExcludeFromSelect.ntia64=device-identification-string[,device-identification-string] ...]  |  (Windows XP and later versions of Windows)
[ExcludeFromSelect.ntamd64=device-identification-string[,device-identification-string] ...]  |  (Windows XP and later versions of Windows)
[ExcludeFromSelect.ntarm=device-identification-string[,device-identification-string] ...]  |  (Windows 8 and later versions of Windows)
[ExcludeFromSelect.ntarm64=device-identification-string[,device-identification-string] ...]  |  (Windows 10 version 1709 and later versions of Windows)

[CopyFilesOnly=device-identification-string[,device-identification-string] ...]
[InteractiveInstall=device-identification-string[,device-identification-string] ... ]
[RequestAdditionalSoftware=*] | 
[RequestAdditionalSoftware=device-identification-string[,device-identification-string] ...]  (Windows 7 through Windows 10 version 1709)

Записи

device-identification-string
Идентифицирует идентификатор оборудования или совместимый идентификатор , указанный в разделе модели INF для каждого производителя. Каждая строка должна быть отделена от следующей запятой (,).

ExcludeFromSelect
Удаляет все устройства (если указан параметр *) или указанный список устройств из определенного пользовательского интерфейса, из которых пользователь должен выбрать определенное устройство для установки.

Для Windows 2000 и более поздних версий Windows указанные устройства отображаются мастером обнаружения нового оборудования и мастером обновления оборудования.

Чтобы исключить из этого экрана набор устройств, несовместимых с ОС или платформой, к одной или нескольким записям ExcludeFromSelect могут быть добавлены следующие расширения без учета регистра:

.Nt
Не отображайте эти устройства на компьютерах под управлением Windows 2000 или более поздних версий Windows.

.ntx86
Не отображайте эти устройства на компьютерах x86 под управлением Windows 2000 или более поздних версий Windows.

.ntia64
Не отображать эти устройства на компьютерах под управлением Itanium под управлением Windows XP или более поздних версий Windows.

.ntamd64
Не отображайте эти устройства на 64-разрядных компьютерах под управлением Windows XP или более поздних версий Windows.

.ntarm
Не отображайте эти устройства на компьютерах под управлением Arm, работающих под управлением Windows 8 или более поздних версий Windows.

.ntarm64
Не отображайте эти устройства на компьютерах под управлением Arm64, работающих под управлением Windows 10 версии 1709 или более поздних версий Windows.

Дополнительные сведения об использовании системных расширений .nt, .ntx86, .ntia64, .ntamd64, .ntarm и .ntarm64 см. в статье Создание INF-файлов для нескольких платформ и операционных систем.

CopyFilesOnly
Устанавливает только файлы, указанные INF, для указанных устройств, так как оборудование устройства еще не доступно или недоступно.

Эта запись используется редко. Однако его можно использовать для предварительной вставки драйверов устройства, для которого карта позже будет размещен в определенном слоте, который используется в данный момент. Например, если устройство, которое в настоящее время находится в определенном слоте, необходимо для передачи файлов, указанных INF, в целевом объекте будет указана эта запись.

InteractiveInstall
Принудительно устанавливает указанный список устройств в контексте пользователя. В каждой строке может быть указан один или несколько идентификаторов оборудования или совместимых идентификаторов, а также одна или несколько строк.

Эта запись не является обязательной. Предпочтительный способ установки устройств — опустить эту запись и разрешить Windows установить устройство в контексте доверенного системного потока, если это возможно. Однако если устройство обязательно требует, чтобы пользователь выполнил вход при установке устройства, включите эту запись в inf-файл устройства.

RequestAdditionalSoftware
Указывает, что для всех устройств (если указан параметр *) или указанного списка устройств может потребоваться дополнительное программное обеспечение, чем то, что было установлено с помощью пакета драйверов для устройства. Например, запись RequestAdditionalSoftware можно использовать для установки нового или обновленного программного обеспечения для конкретного устройства, которое не было включено в пакет драйверов.

Примечание

Если значение * не указано, каждое устройство, указанное в записи RequestAdditionalSoftware , должно быть определено в разделе Модели INF.

Эта запись является необязательной и поддерживается в Windows 7 по Windows 10 версии 1709.

После установки windows пакета драйверов для устройства диспетчер Plug and Play (PnP) выполняет следующие действия, если запись RequestAdditionalSoftware указана в INF-файле:

  1. Диспетчер PnP создает отчет об ошибках и их решении (PRS) с типом RequestAdditionalSoftware. Этот отчет содержит сведения о конкретном идентификаторе оборудования устройства и системной архитектуре компьютера.

  2. При наличии решения, предоставленного независимым поставщиком оборудования (IHV) для программного обеспечения для конкретного устройства, оно загружается на компьютер.

    Примечание

    Скачивание решения не устанавливает само программное обеспечение.

  3. Если программное обеспечение для конкретного устройства не установлено на компьютере, диспетчер PnP представляет решение пользователю и предоставляет ссылку для скачивания программного обеспечения. Затем пользователь может скачать и установить это программное обеспечение, следуя инструкциям, представленным в решении.

Комментарии

Как правило, раздел ControlFlags содержит одну или несколько записей ExcludeFromSelect для определения устройств, перечисленных в разделе Модели INF производителя, но которые не должны отображаться для конечного пользователя в качестве параметров во время установки вручную.

Перечисление идентификатора оборудования или совместимого идентификатора устройства в записи ExcludeFromSelect удаляет его с экрана, отображаемого для конечного пользователя. Если указать звездочку (*) для значения ExcludeFromSelect , все устройства и модели, определенные в INF-файле, удаляются из этого списка, видимого пользователю.

Модуль записи INF должен использовать директиву InteractiveInstall экономно и только в следующих ситуациях:

  • Установка драйверов для устройств с поврежденными или неправильно определенными идентификаторами оборудования. Например, если два или более разных устройств используют один и тот же идентификатор оборудования. Этот случай строго запрещен стандартом Plug and Play, но некоторые поставщики оборудования донесли эту ошибку в оборудовании.
  • Для установки драйверов для устройств, которым требуется собственный драйвер и абсолютно не может использоваться драйвер универсального класса или другой драйвер, поставляемый с операционной системой. Вход InteractiveInstall заставляет диспетчер устройств запрашивать у пользователя подтверждение соответствия совместимым идентификаторам.

Примечание

В будущем WHQL может не предоставлять логотип Windows устройствам, INF-файлы которых содержат записи InteractiveInstall .

INF-файлы, устанавливающие исключительно устройства PnP, могут иметь раздел ControlFlags , если для записи значения NoInstallClass в соответствующих параметрах GUID класса установки устройства не задано значение TRUE. Дополнительные сведения об этих параметрах см. в разделе Inf ClassInstall32 Section.

Примеры

В этом примере раздела ControlFlags в классе системной мыши INF запрещается отображение устройств и моделей, которые не могут быть установлены на платформах x86.

[ControlFlags]
; Exclude all bus mice and InPort mice for x86 platforms
ExcludeFromSelect.ntx86=*PNP0F0D,*PNP0F11,*PNP0F00,*PNP0F02,*PNP0F15
; Hide this entry always
ExcludeFromSelect=UNKNOWN_MOUSE

В следующем фрагменте INF-файла показаны два устройства: одно полностью поддерживает PnP и не требует вмешательства пользователя во время установки, а другое , которое требует собственного драйвера и не может использовать какой-либо другой драйвер. Если указать InteractiveInstall для второго устройства, Windows установит это устройство в контексте пользователя (пользователя с правами администратора). Сюда входит запрос у пользователя указать расположение файлов драйверов (INF-файл, файл драйвера и т. д.) по мере необходимости.

; ...
[Manufacturer]
%Mfg% = ModelsSection

[ModelsSection]
; Models section, with two entries
%Device1.DeviceDesc% = Device1.Install, \
    PCI\VEN_1000&DEV_0001&SUBSYS_00000000&REV_01
%Device2.Device.Desc%= Device2.Install, \
    PCI\VEN_1000&DEV_0001&SUBSYS_00000000&REV_02

[ControlFlags]
InteractiveInstall = \
  PCI\VEN_1000&DEV_0001&SUBSYS_00000000&REV_02
; ...

См. также раздел

ClassInstall32

Производителя

Модели