Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Каждый из моделей , DDInstall_. Раздел Interfaces может содержать одну или несколько директив AddInterface в зависимости от того, сколько интерфейсов устройств поддерживает конкретное устройство или драйвер.
[install-section-name.Interfaces] |
[install-section-name.nt.Interfaces] |
[install-section-name.ntx86.Interfaces] |
[install-section-name.ntia64.Interfaces] | (Windows XP and later versions of Windows)
[install-section-name.ntamd64.Interfaces] | (Windows XP and later versions of Windows)
[install-section-name.ntarm.Interfaces] | (Windows 8 and later versions of Windows)
[install-section-name.ntarm64.Interfaces] (Windows 10 version 1709 and later versions of Windows)
AddInterface={InterfaceClassGUID} [, [reference string] [,[add-interface-section] [,flags]]] ...
[Include=filename.inf[,filename2.inf]...]
[Needs=inf-section-name[,inf-section-name]...]
Для поддержки существующих интерфейсов устройств, таких как любой из предопределенных системных интерфейсов потоковой передачи ядра, укажите соответствующие значения InterfaceClassGUID в этом разделе.
Чтобы установить компонент, например драйвер класса, который экспортирует новый класс интерфейсов устройств, inf также должен иметь раздел INF InterfaceInstall32.
Дополнительные сведения об интерфейсах устройств см. в разделе Классы интерфейса устройства.
Записи
AddInterface={InterfaceClassGUID} [,[строка ссылки] [,[add-interface-section] [,,flags_]]]...
Эта директива устанавливает поддержку класса интерфейса устройства, обозначенного указанным значением InterfaceClassGUID , которое драйвер экспортирует в компоненты более высокого уровня. Как правило, он также ссылается на раздел add-interface,определяемый INF-writer в другом месте INF-файла. Подробные сведения о том, как указать эту директиву, см. в разделе INF AddInterface Directive.
Include=,filename. inf[,filename2.inf]...
Эта необязательная запись указывает один или несколько дополнительных системных INF-файлов, содержащих разделы, необходимые для регистрации классов интерфейса, поддерживаемых этим устройством или драйвером. Если указана эта запись, обычно это запись Needs .
Needs=,inf-section-name[,inf-section-name]...
Эта необязательная запись указывает конкретные разделы, которые должны быть обработаны во время установки этого устройства. Как правило, таким именованным разделом является , DDInstall_. Раздел interfaces в предоставленном системой INF-файле, который указан в записи Include . Однако это может быть любой раздел, на который ссылается такой DDInstall_. Раздел интерфейсов в включенной inf-версии.
Комментарии
На имя раздела DDInstall должна ссылаться запись устройства или модели в разделе Модели производителя INF-файла. Сведения об использовании системных расширений .nt, .ntx86, .ntia64, .ntamd64, .ntarm и .ntarm64 в кроссплатформенных INF-файлах см. в статье Создание INF-файлов для нескольких платформ и операционных систем.
Если указанный {,InterfaceClassGUID_} еще не установлен, код установки операционной системы устанавливает этот класс интерфейса устройства в системе. Если INF-файл устанавливает один или несколько новых классов интерфейса устройства, в нем также может быть раздел [InterfaceInstall32] , определяющий GUID для нового класса.
Дополнительные сведения о создании GUID см. в разделе Использование идентификаторов GUID в драйверах. Идентификаторы GUID класса интерфейса, определяемого системой, см. в соответствующем заголовке, предоставленном системой, например Ks.h , для класса GUIDS интерфейса потоковой передачи ядра.
При загрузке драйвера он должен вызвать IoRegisterDeviceInterface с той же {,InterfaceClassGUID_} и ссылочной строкой , используемой в директиве AddInterface , чтобы получить полное значение SymbolicLinkName для интерфейса устройства. Это необходимо сделать для каждого интерфейса устройства в DDInstall_ INF. Раздел интерфейсов , поддерживаемый драйвером на базовом устройстве. Для каждого элемента SymbolicLinkName драйвер должен вызывать IoSetDeviceInterfaceState , чтобы включить интерфейс устройства. Как правило, функция или драйвер фильтра PnP выполняет эти вызовы из своей процедуры AddDevice .
Примеры
В этом примере показан параметр DDInstall. Nt. Раздел интерфейсов в INF-файле для предоставленного системой звукового устройства или драйвера WDM.
;
; following AddInterface= are all single lines (without
; backslash line continuators) in the system-supplied INF file
;
[WDMPNPB003_Device.NT.Interfaces]
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_Wave%,\
WDM_SB16.Interface.Wave
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_Topology%,\
WDM_SB16.Interface.Topology
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_UART%,\
WDM_SB16.Interface.UART
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_FMSynth%,\
WDM_SB16.Interface.FMSynth
; ...
[Strings] ; only immediately preceding %strkey% tokens shown here
%KSCATEGORY_AUDIO% = "{6994ad04-93ef-11d0-a3cc-00a0c9223196}"
KSNAME_Wave = "Wave"
KSNAME_UART = "UART"
KSNAME_FMSynth = "FMSynth"
KSNAME_Topology = "Topology"
; ...