Файл inf что это
INF – Файл конфигурации установки программ (Setup Information File)
Расширение INF
Чем открыть файл INF
В Windows: Microsoft Windows, Блокнот, NotePad++, Любой текстовый редактор
В Mac OS: MacroMates TextMate, Любой текстовый редактор
Описание расширения INF
Популярность:
Расширение INF – это текстовый файл, который содержит информацию об устройствах и файлах для установки, например, образы драйверов, информация о реестре, расположение файлов и директорий, информация о версии и так далее, всё, что используется компонентами установки.
.INF состоит из множества названных секций, каждая из которых содержит одну или более позиций. Каждый раздел начинается с имени секции в квадратных скобках. Разделы имеют определенную цель (например, для копирования файлов или добавить записи в реестр) и содержат элементы, имеющие вид Имя=Значение. INF-файлы по сути похожи на INI-файлы. Файлы INF в основном используются для установки драйверов и системных инсталляционных пакетов Microsoft Windows, но так же могут быть использованы и для установки других приложений.
ПРИМЕЧАНИЕ: Самый известный INF-файл – это Autorun.inf, используемый для автоматического запуска или установки приложений в операционной системе Windows (начиная с версии Windows 95). Этот файл должен находиться в корневом каталоге файловой системы устройства, для которого осуществляется автозапуск.
MIME тип: application/inf
HEX код: 5B 61 75 74 6F 72 75 6E 5D 0D 0A
ASCII код: [autorun]
Другие программы, связанные с расширением INF
Относится к разделу Другие файлы.
Популярность:
Использование файла INF расширения
до Windows 10 Windows выбрали один пакет драйверов для установки для данного устройства. Это привело к созданию больших, сложных пакетов драйверов, которые включали код для всех сценариев и конфигураций, и каждое дополнительное обновление требует обновления для всего пакета драйверов. начиная с Windows 10 можно разделить функциональность INF на несколько компонентов, каждый из которых может обслуживаться независимо друг от друга.
Чтобы расширить функциональные возможности INF-файла пакета драйвера, предоставьте INF-файл расширения в отдельном пакете драйверов. INF-файл расширения:
На каждом устройстве должен быть установлен один базовый INF-файл, и при необходимости может быть связан один или несколько INF-файлов расширения. INF-файл расширения не сможет быть установлен на устройстве, если отсутствует базовый INF, который также должен быть установлен на устройстве.
Ниже перечислены типичные сценарии, в которых можно использовать INF-файл расширения.
Примеры кода для некоторых из этих сценариев можно найти в приведенных ниже примерах. См. также пример пакета драйверов, совместимого с ДЧ, который описывает, как Пример универсального драйвера дчу использует INF-пакеты расширения.
На схеме ниже две разные компании создали отдельные пакеты драйверов для одного устройства, которые показаны в пунктирных линиях. Первый содержит только INF-файл расширения, а второй — компонент INF и устаревший программный модуль. На схеме также показано, как файл INF расширения может ссылаться на INF-файл компонента, который, в свою очередь, может включать программные модули ссылок для установки.
Совместная работа INF-файла расширения и основного INF-файла
Во время установки устройства параметры в INF-файле расширения применяются после параметров в базовом INF-файле. В результате, если INF-файл расширения и базовый INF указывают одинаковый параметр, применяется версия в INF-файле расширения. Аналогичным образом, если базовый INF-файл изменяется, INF-файл расширения сохраняется и применяется к новому базовому INF. Если на одном устройстве установлено несколько INF-файлов расширения, то не существует предварительно определенного порядка, в котором будут применены драйверы расширения INF, поэтому один файл INF расширения не может детерминированно переопределить значения, предоставленные другим INF-файлом расширения. Уникальные INF для добавочных имен, предназначенных для тех же устройств, не должны пытаться изменить одни и те же параметры.
В базовый INF-файл можно включить комментарии, описывающие, какие записи могут быть переопределены с помощью INF-файла расширения, а также допустимые диапазоны значений параметров и ограничения.
Указание ExtensionId
При написании INF-файла расширения создается Специальный идентификатор GUID, именуемый ExtensionId, который является записью в разделе [Version] INF.
Для иллюстрации рассмотрим следующий сценарий, включающий гипотетическое устройство, для которого существует три INF-файлов расширения:
Сначала система выбирает пакет драйверов с наилучшим рангом и наивысшей версией.
Обратите внимание, что файлы INF расширения всегда применяются после базового INF-файла, но не существует порядка, в котором применяются INF расширения.
Создание INF-файла расширения
Ниже приведены записи, необходимые для определения INF-файла в качестве INF-файла расширения.
если INF-файл расширения предназначен для Windows 10 S, см. статью Windows 10 в режиме S требования к драйверу для получения сведений об установке драйверов в этой версии Windows.
В разделе модели INFукажите один или несколько оборудования и совместимые идентификаторы, соответствующие параметрам целевого устройства. Обратите внимание, что эти аппаратные и совместимые идентификаторы не обязательно должны соответствовать базовому INF-файлу. Как правило, INF-файл расширения содержит более конкретный идентификатор оборудования, чем базовый INF, с целью дальнейшей специализации конкретной конфигурации драйвера. Например, базовый INF-файл может использовать идентификатор PCI, сооснованный на двух частях, а INF-файл расширения указывает идентификатор оборудования с четырьмя частями PCI, как показано ниже:
Кроме того, в INF-файле расширения может быть указан тот же идентификатор оборудования, что и в базовом INF-файле, например, если устройство уже имеет слишком узкие целевое значение или если базовый INF-файл уже содержит наиболее конкретный идентификатор оборудования.
В некоторых случаях INF-файл расширения может предоставлять менее определенный идентификатор устройства, например совместимый идентификатор, для настройки параметра в более широком наборе устройств.
Чид нацеливание можно использовать, если идентификатор оборудования, состоять из четырех частей, невозможен или не является достаточно узким.
в большинстве случаев пакет драйверов расширения INF отправляется в Центр разработки оборудования отдельно от базового пакета драйверов. Примеры упаковки INF-файлов расширений, а также ссылки на примеры кода см. в разделе пример пакета драйверов, совместимого с ДЧ.
Процедура проверки и отправки драйверов одинакова для INF-файлов расширения, как и для обычных INF-файлов. дополнительные сведения см. в разделе Windows хлк начало работы.
Удаление драйвера расширения
Чтобы удалить пакет драйвера расширения из системы и удалить его с любых устройств, использующих его, используйте delete-driver команду PnPUtil с uninstall флагом. Это позволяет удалить пакет драйверов расширений с устройств, не удаляя базовый пакет драйверов.
Пример 1. Использование INF-файла расширения для задания понятного имени устройства
В одном распространенном сценарии поставщик оборудования (IHV) предоставляет базовый пакет драйверов, а затем Системный сборщик (OEM) предоставляет INF-файл расширения, который дополняет и в некоторых случаях переопределяет конфигурацию и параметры базового пакета драйверов. Следующий фрагмент кода представляет собой полный INF-файл расширения, который показывает, как задать понятное имя устройства.
Пример 2. Использование INF-файла расширения для установки дополнительного программного обеспечения
Следующий фрагмент кода представляет собой полный INF-файл расширения, который входит в комплект установки драйверов для универсальных драйверов. В этом примере используется директива INF AddComponent для создания компонентов, устанавливающих службу и исполняемый файл. Дополнительные сведения о том, что можно делать в INF-файле компонента, см. в разделе Использование INF-файла компонента.
Сведения о том, как использовать INF-файл расширения для установки драйвера фильтра, см. в разделе упорядочение драйверов фильтра устройств.
Чтобы улучшить расширяемость, рекомендуется добавить необязательную функциональность IHV в шаблон расширения INF.
обратная совместимость
Все изменения в базовом INF-файле должны быть тщательно проверены, чтобы не прерывать обратную совместимость для существующих INF-файлов расширения.
При управлении базовым INF-файлом следуйте приведенным ниже рекомендациям.
Отправка INF-файла расширения для сертификации
подробные сведения о работе с inf расширения на Центр разработки оборудования см. в разделе работа с inf расширения на панели мониторинга Windows Центр разработки оборудования.
INF-файлы
INF-файлы
В данной статье мы рассмотрим, что представляет собой INF-файл, как с его помощью работать с другими файлами и реестром, создавать ярлыки, запускать программы и т.д.
Как известно, для более-менее серьезного программного продукта обычно требуется специальная программа инсталляции, с помощью которой пользователь сможет легко установить и так же легко удалить сам продукт. Существует много инструментальных средств, позволяющих быстро создавать инсталляционные пакеты. Однако, большинство из них добавляют к исходному размеру программы 200–500 Кб. А ведь это далеко не всегда радует. Серьезный продукт не обязательно должен быть внушительных размеров. И если вы хотите сделать инсталляцию доступной в Сети, то эти 200–500 Кб могут сильно сказаться на популярности продукта.
Как выйти из подобной ситуации? Здесь на помощь придут inf-файлы. Именно с помощью inf-файлов можно удалять, копировать другие файлы, добавлять информацию в реестр, в ini-файлы, создавать ярлыки, в общем, все то же, что обеспечивают громоздкие программы установки.
Перейдем к изучению спецификации inf-файлов.
inf-файл представляет собой текстовый файл, который, содержит условия установки программного обеспечения.
Секция [Version] обязательно должна включать строку Signature=»$Chicago$»
Секция установки [DefaultInstall] может содержать следующие параметры:
CopyFiles — копирование файлов;
RenFiles — переименование файлов;
DelFiles — удаление файлов;
UpdateInis — изменение данных в ini-файлах;
AddReg — добавление информации в реестр;
DelReg — удаление информации из реестра;
Ini2Reg — перемещение строки или секции в ini-файлах;
UpdateCfgSys — изменение файла Config.sys;
UpdateAutoBat — изменение файла Autoexec.bat.
Этим параметрам в качестве значения присваивается имя секции с файлами. Например:
Example.html ;файл для копирования.
[DestinationDirs] ;Секция расположения каталогов
DestExampleFiles=10 ;Каталог назначения (т.е. копировать в папку Windows)
30 — Корневой загрузочный диск (обычно C:).
Например, если нужно скопировать файл в папку Web, которая находится в каталоге Windows, сделайте это так:
Так же можно поступить и с другими папками, находящимися в определенных каталогах.
Параметр CopyFiles содержит имя секции, где находятся имена файлов для копирования с исходного диска в папку назначения. Папка назначения определяется в секции [DestinationDirs] inf-файла. В следующем примере копируются два файла:
Copyfiles=ExampleCopyFiles ;секция может быть названа как угодно
;Перечисляете файлы, которые содержатся на диске
;Перечисляете файлы для копирования (о цифрах через три запятые читайте ниже)
;Указываете папку, в которую будут копироваться файлы (10 — Windows)
Цифры через три запятые обозначают дополнительные флаги при копировании файлов и могут принимать значения, представленные в
Параметр CopyFiles может копировать файл непосредственно из строки. Для этого перед именем файла нужно поставить символ @. В следующем примере копируются два текстовых файла:
;Перечисляете старые имена файлов
;Определяете файлы, которые будут переименовываться
;Указываете папку, в которой будут переименовываться файлы (10 — Windows)
В параметре AddReg указываются секции, которые содержат информацию о добавлении или изменении ключей, значений в реестре. Следующий пример регистрирует вашу копию операционной системы Windows.
;Определяете информацию, которая будет добавлена в реестр
HKLM, «SOFTWAREMicrosoftWindowsCurrentVersion», «RegDone»,,»1″
HKLM, «SOFTWAREMicrosoftWindowsCurrentVersion WelcomeRegWiz»,»@»,,»1″
С помощью этого файла в реестр добавляется следующая информация:
Обратите внимание на запятые в inf-файле. Если нужно добавить в реестр параметр по умолчанию, запятые должны быть проставлены иначе. Например, в рассмотренном нами ключе реестра HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersion сделаем параметр по умолчанию равным единице (1):
HKLM, «SOFTWAREMicrosoftWindowsCurrentVersion». «1»
Ниже представлены корневые имена реестра, применяемые в inf-файлах.
HKR — относительный ключ, используется классом installer; обычно применяется для дисков устройства.
В параметре DelReg указываются секции, которые содержат информацию об удалении подключей с параметрами и значениями из реестра. Следующий пример демонстрирует удаление подключа Graphviz со всеми параметрами и значениями этого раздела реестра — HKEY_CURRENT_USERSoftwareAT&TGraphviz:
;Определяете информацию, которая будет удалена из реестра
Корневые имена реестра, естественно, обозначаются так же, как и при добавлении информации в реестр.
;Отображение файла справки About.hlp
HKLM,SoftwareMicrosoftWindowsCurrentVersionRunOnceSetup,%ABOUT%,,»WINHLP32.EXE — Main %1%About.hlp»
;Отображение текстового файла About.txt
;Запуск файла сценария Example.inf
HKLM,SoftwareMicrosoftWindowsCurrentVersionRunOnceSetup,%ABOUT%,,»rundll setupx.dll,InstallHinfSection DefaultInstall 132 %1%Example.inf»
;Определяете название, которое будет отображаться в окне «Установка Windows 98»
После того как определенные в секции [ExampleView] команды выполнятся, записи, добавленные в реестр, будут автоматически удалены из него. Таким образом можно запускать и другие процессы, например апплеты Панели управления:
;Запуск апплета Панели управления Свойства: Система (SYSDM.CPL)
В следующем примере показано, как с помощью inf-файла изменить содержимое ini-файла:
;Указываете папку, где находится файл system.ini — например в папке Example, которая расположена в каталоге C:Program Files
;Определяете название файла и секции добавляемых, удаляемых или заменяемых строк
;Добавляете в секцию [boot] файла system.ini строку shell=Example.exe
system.ini, boot,, «shell=Example.exe»
;Удаляете из секции [boot] файла system.ini строку shell=Example.exe
system.ini, boot, «shell=Example.exe»
;Заменяете из секции [boot] файла system.ini строку shell=Example.exe на shell=Example8.exe
system.ini, boot, «shell=Example.exe», «shell=Example8.exe»
С помощью inf-файлов можно также создавать/удалять ярлыки в меню Пуск. Ярлык можно создать в уже созданной группе программ. Если таковой не существует, она будет создана автоматически.
Следующий пример создает группу программ Windows + + в меню Пуск > Программы и ярлыки к утилитам winipcfg.exe (Конфигурация IP), Regedit.exe (Редактор реестра) и Winfile.exe (Диспетчер файлов — только в Win98). Все они есть у вас на компьютере и лежат в папке Windows.
;Определяете название и размещение ярлыков
setup.ini, progman.groups,, «group1=»»Windows + +»»»
setup.ini, group1,, «»»Конфигурация IP»»,»»»»»»%30%WINDOWSwinipcfg.exe»»»»»». «»%30%WINDOWS»»,»»winipcfg.exe»»»
setup.ini, progman.groups,, «group1=»»Windows + +»»»
setup.ini, group1,, «»»Редактор реестра»»,»»»»»»%30%WINDOWSRegedit.exe»»»»»». «»%30%WINDOWS»»,»»Regedit.exe»»»
setup.ini, progman.groups,, «group1=»»Windows + +»»»
setup.ini, group1,, «»»Диспетчер файлов»»,»»»»»»%30%WINDOWSWinfile.exe»»»»»». «»%30%WINDOWS»»,»»Winfile.exe»»»
Ярлык прописывается в таком порядке:
1. Название группы программ. В нашем случае — Windows + +.
3. Путь к программе, к которой создается ярлык.
4. Рабочий каталог, обычно тот же, что и путь. Некоторые программы не работают, если это условие не выполняется.
5. Имя программы с расширением.
Параметр %30% определяет корневой диск. Если вы хотите создать ярлык к файлу, который находиться в каталоге Program Files, смело прописывайте полный путь (не используйте короткие имена), например %30%Program FilesSetup Generator ProSgpro.exe.
Для удаления ярлыка нужно убрать все записи, указанные после имени ярлыка. В следующем примере удаляется ярлык Конфигурация IP из программной группы Windows + +.
setup.ini, progman.groups,, «group1=»»Windows + +»»»
setup.ini, group1,, «»»Конфигурация IP»»»
Если вы удаляете один из ярлыков программной группы, то удаление не затронет другие ярлыки. Для полного удаления программной группы нужно прописать данное действие для каждого ярлыка.
Следующий ключ используется для переименования файлов:
Этот ключ используется для удаления файлов:
Для действий переименования или удаления нужно добавить подключ с любым именем в соответствующую ветвь реестра. Минимум два ключа должны быть определены. Первый ключ содержит имя каталога, где будет происходить переименование или удаление файлов. Следующий ключ содержит имена файлов: первое — короткое, второе — длинное и его атрибуты, если нужно:
1 — Только для чтения;
Следующий пример демонстрирует переименование в каталоге C:Files файла About.txt в About View files.txt и установление ему атрибута «Скрытый», а также переименование того же файла в подкаталоге Xmp папки C:Files с установлением ему атрибута «Только для чтения»:
HKLM,SoftwareMicrosoftWindowsCurrentVersionRenameFiles Example. «%30%Files»
HKLM,SoftwareMicrosoftWindowsCurrentVersionRenameFiles Example,About.txt,,»About View files.txt,2″
HKLM,SoftwareMicrosoftWindowsCurrentVersionRenameFiles SubDir. «%30%FilesXmp»
HKLM,SoftwareMicrosoftWindowsCurrentVersionRenameFiles SubDir,About.txt,,»About View files.txt,1″
Ключи для удаления файлов имеют такую же структуру. Рассмотрим пример, который в каталоге C:Files удаляет файл About View files.txt и такой же файл удаляет в подкаталоге Xmp папки C:Files:
HKLM,SoftwareMicrosoftWindowsCurrentVersionDeleteFiles Example,About.txt,,»About View files.txt»
HKLM,SoftwareMicrosoftWindowsCurrentVersionDeleteFiles SubDir. «%30%FilesXmp»
HKLM,SoftwareMicrosoftWindowsCurrentVersionDeleteFiles SubDir,About.txt,,»About View files.txt»
Параметры Example и SubDir могут быть любыми, например названием вашей программы, подкаталога и т.д. Важно, чтобы они были разными, т.к. переименование/удаление происходит в разных каталогах.
Данная статья не претендует на полноту, но надеюсь, поможет читателю освоить inf-файлы хотя бы поверхностно. Не бойтесь экспериментировать, но будьте предельно осторожны, особенно с процессами удаления.
Читайте также
Файлы
Файлы По многочисленным просьбам открываем раздел с полезными файлами для W2k. Раздел состоит из двух частей, первая официальные патчи от Microsoft (не все, а только те, что кажутся нам наиболее важными), и вторая часть, куда войдут все файлы упоминавшиеся в FAQ, просто утилитки,
Скачиваем файлы
Скачиваем файлы Конечно, современный Интернет – это не только (и не столько) бесконечное ползание по страничкам: ведь мы отправляемся в сеть не только за информацией, но и за ФАЙЛАМИ. И неважно, что это: драйверы для наших видеокарт и принтеров, музыка, фильмы или
Пересылаем файлы
Пересылаем файлы Чтобы отправить любой файл (в том числе и фотографию) в интерактивном режиме, нужно:1. Воспользоваться командой Файл | Отправить файл или фото.2. На экране откроется диалоговое окно, в котором нужно будет выбрать файл на вашем компьютере и нажать кнопку
1.4.2. Файлы устройств
CPL-файлы
CPL-файлы Из нескольких предыдущих абзацев вы узнали практически все теоретические выкладки, которые необходимы для работы с программой rundll32.exe. Сейчас же будут перечислены те возможности, которые данная программа может предоставить пользователю. Начнем с описания
SCF-файлы
SCF-файлы Файлы с таким расширением являются командными файлами оболочки Windows и используются для различных целей. Например, можно создать файл, который будет сворачивать все окна. Его содержимое приведено в листинге 17.3. Если ввести подобный текст в текстовый файл, а потом
DBX-файлы
DBX-файлы В файлах с расширением DBX хранятся записи программы Outlook Express. В этих файлах, называемых Банком сообщений, находятся письма, сообщения новостных групп и т.п. При желании, можно скопировать эти файлы на носитель информации для переноса данных в другой компьютер.
INF-файлы
INF-файлы В данной статье мы рассмотрим, что представляет собой INF-файл, как с его помощью работать с другими файлами и реестром, создавать ярлыки, запускать программы и т.д.Как известно, для более-менее серьезного программного продукта обычно требуется специальная
10.3. Файлы конфигурации
10.3. Файлы конфигурации Файл конфигурации (run-control file) — файл объявлений или команд, связанных с программой, которая интерпретирует его во время запуска. Если программа имеет специфическую для данного узла конфигурацию, которая совместно используется всеми пользователями
1.5.3. Файлы заголовков
1.5.3. Файлы заголовков Много информации о системных функциях можно почерпнуть из системных файлов заголовков. Они находятся в каталогах /usr/include и /usr/include/sys. Например, если компилятор сообщает об ошибке вызова системной функции, загляните в соответствующий файл заголовков
2.1.7. Временные файлы
2.1.7. Временные файлы Иногда программе требуется создать временный файл, например для промежуточного хранения большого объема данных или для передачи данных другой программе. В системах GNU/Linux временные файлы хранятся в каталоге /tmp. Работая с временными файлами,
Исходные файлы
Исходные файлы Текст программы на языке Си может быть разделен на несколько исходных файлов. Исходный файл представляет собой текстовый файл, который содержит либо всю программу, либо ее часть. При компиляции исходной программы каждый из составляющих ее исходных файлов
5.11.2. Файлы устройств
5.11.2. Файлы устройств Отдельного разговора заслуживают файлы устройств. Для Linux нет разницы между устройством и файлом. Все устройства системы представлены в корневой файловой системе в виде обычных файлов. Как уже упоминалось, файлы устройств хранятся в каталоге /dev.
4.3. Файлы
4.3. Файлы В завершение главы рассмотрим три несложных примера работы с файлами: копирование файла (с отображением хода копирования в ProgressBar), определение значков, ассоциированных с файлами, и извлечение значков из ЕХЕ– и DLL-файлов.Красивое копирование файлаКазалось бы,
Файлы
Файлы Файлы – одно из фундаментальных понятий в компьютерной технологии и программировании. Но поскольку данная книга рассчитана на пользователей компьютера, я не буду давать точного определения файла, дабы не запутать вас и не запутаться самому.Если после прочтения
Создание INF-файла
Все минидриверс и определенные изготовители оборудования должны быть установлены с помощью INF-файла, чтобы предоставить системе все необходимые сведения. INF-файл описывает установку устройства с точки зрения класса устройства, файлы, которые необходимо скопировать, все совместимые устройства, любые системные ресурсы, необходимые устройству, и изменения в реестре. INF-файлы для настройки стандартного аналогового драйвера не требуют копирования файлов, устройств, совместимых с состоянием, или указания системных ресурсов. В INF-файле можно указать другие действия, например изменение файла Autoexec.bat, но это не является необходимым для джойстика минидривер.
INF-файл содержит элементы, описанные ниже.
Настройка класса устройств
Джойстики попадают под класс мультимедиа с названием «звук, видео и игровые устройства» на панели «Добавление нового оборудования». Разделы, связанные с классом, должны быть скопированы из примеров или файла джойстика. INF.
Выбор исходных файлов
В разделе «Саурцедисксфилес» INF-файла указываются копируемые файлы. Сюда входят все необходимые драйверы, а также любые другие файлы, например документация и приложения установки. Так как это может быть первый джойстик, устанавливаемый в системе пользователя, необходимо скопировать драйверы джойстика Вжойд. vxd и Мсжстрикк. drv в дополнение к конкретным драйверам для этого устройства. источник этих двух драйверов должен быть установлен по ссылке на файл Layout. inf (в результате чего пользователю предлагается ввести установочный диск Windows 95/98/Me), который не распространяется на диск изготовителя оборудования. Драйверы должны быть скопированы в системный каталог пользователя, который является кодом назначения 11.
Настройка данных Manufacturer-Specific
Раздел, относящийся к изготовителю, на который указывает INF-файл, содержит одну запись для каждого устройства, которое можно установить. Каждая запись содержит имя устройства, за которым следует имя раздела установки, идентификатор устройства и все совместимые устройства. Если устройство зарегистрировано как самонастраивающийся совместимо, для идентификатора устройства следует использовать идентификатор самонастраивающийся (начиная со звездочки). Если устройство не зарегистрировано, следует использовать идентификатор устройства, несовместимый с самонастраивающийся (то есть один не начинается со звездочки). При регистрации этого типа устройства старайтесь не выбирать идентификатор, который конфликтует с другими идентификаторами устройств (например, джойстик, который не будет хорошим ИДЕНТИФИКАТОРом).
Настройка записей Логконфиг
Устройства, требующие системных ресурсов, например порты ввода-вывода, используют запись Логконфиг в разделе установки, чтобы указать, какие конфигурации они могут использовать. Некоторые устройства не используют собственные ресурсы. Вместо этого они используют для взаимодействия с устройством другой драйвер, например драйвер последовательного порта. DirectX 3,0 Вжойд отличается от предыдущих версий в обработке требований к портам ввода-вывода аналогового игрового порта. Более старые версии работали только в том случае, если хотя бы одно устройство было настроено с помощью одного или двух выделений портов ввода-вывода с портами в стандартном диапазоне игровых портов 0x200 на 0x20f. (Кроме того, второй диапазон ввода-вывода должен быть одним портом.) Более новая Вжойд работает, если ни одна из игровых портов не настроена на разрешение систем, не имеющих игровых портов, для использования устройств, управляемых минидриверс. (Второй диапазон ввода-вывода теперь может быть более чем одним портом.)
Устройства, использующие порты в диапазоне от 0x200 до 0x20f, обрабатываются как аналоговые игровые порты с помощью Вжойд и, следовательно, могут считаться конфликтующими устройствами с помощью Configuration Manager. Все остальные наборы портов ввода-вывода для игровых портов игнорируются; Если у компьютера есть игровые порты на двух картах, опрашиваются будут только порты на одной карте. Если устройство должно использовать стандартный игровой порт нестандартным образом, то все еще более интересно. Запрос стандартных портов в записях Логконфиг раздела установки для устройства может работать, но обычно это приводит к значительному перенастройке и перезагрузке для переключения джойстиков. Альтернативой является совместное использование ресурсов с Вжойд с помощью любого набора диапазонов ввода-вывода, переданных через обратный вызов Configuration Manager, которые соответствуют критериям игрового порта. Если пользователь не настраивает джойстики как для стандартного аналогового драйвера, так и для драйвера изготовителя оборудования, то запустите приложение, которое пытается опросить их, это работает достаточно хорошо.
В DirectX 3,0 были реализованы изменения, позволяющие вызывать нелицензионный список производителей оборудования вместо стандартного аналогового опроса путем установки флага JOY_HWS_ISGAMEPORTDRIVER. Панель управления позволяет настроить такое устройство как глобальный драйвер, то есть, вместо внутреннего аналогового опроса, вызывается для всех джойстиков, не имеющих минидривер, связанных с ними. Это гарантирует, что Вжойд не помешает опросу устройства изготовителя оборудования.
Если первые четыре устройства во время загрузки обрабатываются минидриверс (что может быть глобальным драйвером OEM), Вжойд не проверяет наличие—и не может использовать все игровые порты, даже если эти устройства больше не обрабатываются минидриверс. Если Вжойд не может использовать свои порты (или если не существует игровых портов), возврат JOY_OEMPOLLRC_YOUPOLL запросу опроса не приводит к использованию стандартного опроса. Повторная настройка на устройства, использующие этот опрос, вступает в силу только после повторного выделения ресурсов игрового порта (возможно, не до перезагрузки).
Настройка записей Аддрег
INF-файлу также необходимо настроить записи реестра в разделе, выбранном записью Аддрег раздела install. Для устройств, требующих минидривер, необходимо настроить следующие настройки, чтобы убедиться, что драйвер правильно связан с драйверами системы мультимедиа:
Строка% Оемжой. Девицедеск% заменена на строку с именем устройства.
Значения, описывающие этот джойстик, помещаются в реестр с ключом, определяемым изготовителем оборудования, начиная с пути REGSTR_PATH_JOYOEM (находится в разделе HKEY_LOCAL_MACHINE). при использовании этого ключа изготовитель оборудования может разместить несколько статических значений, которые настраивают способ отображения джойстика OEM в программе калибровки джойстика и приложений для Windows 95/98/Me. Имена значений определяются в Регстр. h, поэтому это имена этих констант, которые обсуждаются ниже, а не имена, которые отображаются в реестре. Каждое устройство, определенное изготовителем оборудования, должно иметь по крайней мере определенные базовые свойства и имя, которое пользователь может видеть в поле выбора джойстика в разделе Панель управления. Для загрузки минидривер значение должно содержать имя минидривер VxD (включая расширение VxD). Значение имени OEM (REGSTR_VAL_JOYOEMNAME) и значения имени файла минидривер (REGSTR_VAL_JOYOEMCALLOUT) являются простыми строками. Основные свойства REGSTR_VAL_JOYOEMDATA значение — двоичные данные, значение которых подробно описано в следующих случаях.
Есть два даублевордса; Первый содержит набор флагов, второй — количество кнопок в устройстве.
Флаги указывают тип устройства, наличие осей и способ их интерпретации.
Большинство флагов определены в Ммддк. h. Два новых флага, добавленных в DirectX 3,0, определены в Динпут. h. Следующие флаги используются только для повторного сопоставления осей определенного изготовителем оборудования аналогового джойстика, который опрашивается напрямую Вжойд. Они изменяют поведение по умолчанию Вжойд при выполнении аналогового опроса, но не влияют на данные, возвращаемые минидриверс.