Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Что делает inf-файл? 
:(
    Опции темы
Pakshin A. S.
Дата 7.11.2004, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 21
Всего: 61



Он позволяет осуществить: 

Создание элементов реестра 
Определение инициализационных параметров (INI-settings) 
Копирование файлов с дистрибутива и размещение их в системе 
Инсталляция устройств 
Управление другими INF-фаилами 
Конфигурирование опций устройств 

INF-файлы представляют собой инициализационные файлы, которые конфигурируют 
устройство или приложение в вашей системе и задают его элементы в реестре. 
INF-файлы обычно поставляются производителем продукта вместе с устройством 
или приложением. Кроме того, можно их найти на электронных досках объявле- 
ний и других on-line сервисах. INF-файлы понадобятся вам для многих обычных 
(не РпР) устройств, которые вам нужно будет конфигурировать для работы с 
Windows 95. Как правило, INF-файлы включают список допустимых логических 
конфигураций, имена файлов драйверов устройств и г. д. В ряде случаев вам 
потребуется самим писать INF-файлы для устройств или программного обеспече- 
ния. Формат lNF-файлов аналогичен формату INIфайлов, которые использовались 
в Windows З.х, включая квадратные скобки, ключи и разделы, используемые то- 
лько Windows 95. 

Структура INF-файла 
Когда вы инсталлируете новое устройство. Windows ищет INF-фаилы для этого 
устройства, используя при этом идентификатор устройства (device ID). Собрав 
из INF-фаила всю необходимую информацию, система создает в реестре элемент 
для этого устройства под ключом HKEY_LOCAL_MACHINE. Значения из INF-файла 
копируются в элемент реестра, соответствующий драйверу устройства. Такие 
значения, как DevLoader= и Driverdesc= включаются в элемент аппаратного 
драйвера Driver=. Элемент Еnum содержит значения Driver= и ConfigFlags=. 
INF-фаилы представляют собой файлы в формате ASCII, состоящие из нескольких 
разделов. Каждый раздел предназначен для выполнения определенной задачи. 
Имена разделов обычно заключаются в квадратные скобки. Типичные элементы 
представляют собой ключ и значение, соединенные знаком равенства. В раздел 
можно включить одно или несколько значений. Кроме того, в состав элемента 
можно включать комментарии, отделяя их символом точки с запятой, например: 

[section]  
keyname=value ;эта часть строки является комментарием  

Поскольку INF-файлы являются файлами формата ASCII, должен существовать 
способ, с помощью которого они будут предоставлять реестру информацию в 
двоичном формате. Структура INF определяет двоичный файл, который преобра- 
зует ASCII-текст в двоичный формат при чтении его реестром. 

Типы информационных файлов: 
Layout (Формат). Определяет информацию о диске и номере версии, а также 
содержит список всех файлов с указанием диска, на котором они располагают- 
ся. 
Selective Install (Избирательная инсталляция). Определяет части инстал- 
ляции, являющиеся необязательными компонентами, а также те ее части, кото- 
рые зависят от инсталляции других компонентов. Например, Microsoft Fax тре- 
бует предварительной загрузки Microsoft Exchange. Вы имеете возможность уп- 
равлять инсталляцией компонент этих типов. 
Application/Installation, APPS.INF (Приложения/Инсталляция). Обнаружива- 
ет используемые вами приложения MS-DOS и устанавливает для них параметры 
окружения. Эти lNF-файлы содержат настройки и параметры для многих приложе- 
ний DOS. Как правило, это самый большой информационный файл в вашей систе- 
ме. В его состав входят многие виды настройки памяти, настройки расширенной 
памяти (XMS), а также другие параметры, которые в Windows З.х содержались в 
настройках PIF 
Device Installation and Configuration (Инсталляция и конфигуриро вание 
устройств). Это наиболее общий из всех информационных файлов на котором мы 
до сих пор концентрировали все внимание. Эти файлы описывают параметры на- 
стройки для конкретных физических устройств. Если вы имеете драйвер устрой- 
ства ранних версий, в INF-файле будет содержаться информация об этом уст- 
ройстве. Устройства Plug and Play, с другой стороны, помещают информацию о 
себе прямо в реестр. 

Общая организация lNF-файла 
Раздел каждого устройства в INF-файлс состоит из следующих разделов: 

Раздел [Version]. 
Идентифицирует INF и класс поддерживаемого устройства. 
Ниже перечислен список некоторых устройств, которые вы можете включить: 

adapter                 keyboard        NetService  
  
CDROM                   MCADevices      NetTrans (сетевые транспорты)  
diskdrive               media           nodriver  
dispaly                 modem           PCMCIA  
EISADevices             monitor         ports  
Fdc                     mouse           printer  
Hdc                     MTD             SCSIAdapter  

Раздел [Manufacturer]. 
Идентифицирует производителя устройства (например, Link, Micro, и т.п.) и 
соответствующих продуктов. Каждый INF-файл должен иметь по крайней мере 
один раздел [ Manufacturer]. 

Раздел [Install]. 
Содержит информацию о физических атрибутах устройства и его драйверах. 

Раздел [Classlnstall]. 
Этот раздел необязателен. Он идентифицирует новый класс для указанного уст- 
ройства в INF-фаиле 

Раздел [String]. 
Идентифицирует локализованные строки в INF-фаиле 

Раздел [Miscellaneous]. 
Содержит информацию о том, как устройства управляются пользовательским ин- 
терфейсом W95. 

Элементы APPS.INF 
В разделе [appname] файла APPS.INF вы найдете элементы, перечисленные в 
табл. Используя эти элементы вы сможете быстрее перенести в W95 настройки 
PIF из ваших старых инсталляций Windows. 
Многие из приложений, перечисленных в файле APPS.INF, представляют собой 
старые игры для MS-DOS. Если вы сталкиваетесь с тем, что игра не работает в 
среде W95, просмотрите этот файл. Возможно, вам удастся модифицировать ка- 
кой-либо из его элементов таким образом, чтобы игра запустилась или стала 
работать лучше. Если вы вносите изменения в файл APPS.INF, вам потребуется 
перезагрузить W95, чтобы внесенные изменения попали в реестр. Помимо редак- 
тирования файла APPS.INF, некоторые из параметров вы можете изменить, от- 
крыв страницу свойств конкретного приложения. 
Ниже приведен пример раздела [аррname]: 

[PRODIGY.EXE]  
LowMem=440  
EMSMen=None  
XMSMem=None  
Enable=lml  
Disable=win,hma  

В этой части файла APPS.INF раздел [appname] замещается именем исполняемого 
модуля, например, PRODIGY.EXE, PARADOX.EXE и т.п. 

Имя элемента реестра           Описание ключа                       Значение  
  
ALLOWSSAVER              Позволяет появляться заставке              sav  
(работает в REALMODE)    при работающих программах DOS.  
                         Настройка по умолчанию  
  
ALTENTER                 Позволяет использовать клавиатурную        аеn  
                         комбинацию + для переклю-  
                         чения между полноэкранным и оконным  
                         режимами. Настройка по умолчанию.  
  
ALTESC                   Позволяет использовать выход с помощью     Aes  
                         клавиатурной комбинации -.  
                         Настройка по умолчанию.  
  
ALTPRTSCRN               Позволяет выполнять моментальный снимок    Psc  
                         экрана с помощью клавиатурной комбинации  
                         +. Настройка по умолчанию.  
  
ALTSPACE                 Позволяет использовать клавиатурную        aps  
                         комбинацию + для отображения  
                         системного меню. Настройка по умолчанию.  
  
ALTTAB                   Позволяет использовать клавиатурную ком-   Ata  
                         бинацию для переключения между приложе-  
                         ниями. Настройка по умолчанию.  
  
BACKGROUND               Дает приложению указание работать в        win  
                         фоновом режиме. Настройка по умолчанию.  
  
CDROM                    Позволяет использовать драйвер MSCDEX.     cdr  
(работает в REALMODE)    Настройка по умолчанию.  
  
CLOSEONEXIT              Закрывает при выходе окно DOS. He явля-    cwe  
                         ется настройкой по умолчанию.  
  
CRTLESC                  Позволяет закрывать приложение нажатием    ces  
                         клавиатурной комбинации +.  
                         Настройка по умолчанию.  
  
DETECTIDLE              Задает чувствительность в неактивном сос-   dit  
                        тоянии. Настройка по умолчанию.  
  
DISKLOCK                Позволяет осуществлять прямой доступ к      dsk  
(работает в REALMODE)   диску.  
  
EMS                     Активизирует EMS386 для программ DOS.       ems  
(работает в REALMODE)   Настройка по умолчанию.  
  
EMSLOCKED               Указывает на блокировку памяти EMS          eml  
  
EMULATEROM              Указывает на необходимость использо-        emt  
                        вания быстрой эмуляции ROM. Настройка  
                        по умолчанию.  
  
EXCLUSIVE               Работает в эксклюзивном режиме. Этот        exc  
                        параметр игнорируется.  
  
FASTPASTE               Активизирует быструю вставку из прило-      aft  
                        жения. Настройка по умолчанию.  
  
GLOBALMEM               Активизирует глобальную защиту памяти       gmp  
  
LOWLOCKED               Указывает на то, что нижняя память          lml  
                        (до 640 Кб) заблокирована. Этот параметр  
                        игнорируется.  
  
MOUSE                   Активизирует функции мыши. Настройка по     mse  
(работает в REALMODE)   умолчанию.  
  
NETWORK                 Разрешает программе DOS получать доступ     net  
(работает в REALMODE)   к сетевым дискам и принтерам. Настройка  
                        по умолчанию.  
  
PRIVATECFG              Позволяет программе DOS использовать пер-   cfg  
(работает в REALMODE)   сональный файл CONFIG.SYS. He является  
                        настройкой по умолчанию.  
  
REALMODE                Запускает программу в реальном режиме DOS.  dos  
                        He является настройкой по умолчанию.  
  
RETAINVRAM              Дает указание сохранить видеопамять.        rvm  
                        Этот параметр игнорируется.  
  
UNIQUESETTINGS          Запускает программы DOS в отдельных DOS-    uus  
                        сеансах. Не является настройкой по  
                        умолчаний.  
  
USEHMA                  Дает указание использовать НМА (верхние     hma  
                        адреса памяти). Значение по умолчанию.  
  
VESA                    Дает программам DOS получать доступ к       vsa  
(работает в REALMODE)   продвинутым графическим возможностям.  
  
WINDOWED                Запускает приложение в окне, а не в         win  
                        полноэкранном режиме. Настройка по  
                        умолчанию.  
  
WINLIE                  Не позволяет программам DOS обнаруживать    lie  
                        W95. Не яаляется параметром по умолчанию.  
  
XMSLOCKED               Дает указание блокировать память XMS.       Xml  

В файле APPS.INF доступны, но не реализованы следующие параметры: 

DISPLAYTBAR (dtb) Отображает панель инструментов. 
EXCLMOUSE (exm) Разрешает режим монопольного использования мыши 
QUICKEDIT (qme) Активизирует для мыши режим быстрого редактирования 
WARNIFACTIVE (wia). Позволяет подавать предупреждения, если приложение 
DOS еще активно 

Справочник по разделам 
В нижеприведенных таблицах описаны все ключевые слова и значения, ассоци- 
ированные с конкретными разделами. Синтаксис раздела [Version] приведен ни- 
же. Квадратные скобки используются для обозначения начала нового раздела. 
Для того чтобы настройки INF были понятны W95 и реестру, квадратные скобки 
обязательно должны присутствовать. 

[Version]  
Signature=$CHICAGO$  
Class=name_of_class  
Provider=%File_creator%  
LayoutFile=filename.inf  

Ключевое слово Значение       Описание  
  
Signature      $Chicago$    Задает операционную систему для INF-файла.  
                            На момент написания большинства INF-файлов  
                            кодовое название Windows 95 было следующим:  
                            Chicago.  
  
Class         name_of_class Указывает класс, который будет определен в ре-  
                            естре. Список общих классов устройств, которые  
                            вы можете ввести сюда, приведен в данном при-  
                            ложении ранее.  
  
LayoutFile     filename.inf Эта строка определяет имя INF-файла, содержа-  
                            щего имена исходного диска и файлов, которые  
                            должны быть включены для инсталляции этого  
                            устройства. Если его не определить, то по умол-  
                            чанию файл имеет имя LAYOUT.INF. Если вы не  
                            включите эти данные в раздел Version, то должны  
                            будете включить в файл APPS.INF разделы  
                            SourceDiskName и SourceDiskFiles.  

Синтаксис раздела [Manufacturer] приведен ниже. 

[Manufacturer]  
"manufacturer" %string_value%=manufacturer_section  

Информация раздела [Manufacturer] 

Ключевое слово          Описание  
  
"manufacturer"          Имя производителя этого устройства, заключенное в  
                        кавычки. Сюда можно включить любую строку. Это клю-  
                        чевое слозо является необязательным.  
  
%string_value%          Указывает имя строки, включенной в раздел Stings  
                        INF-файла. Строки должны быть заключены в символы  
                        процента (%).  
  
manufacturer_section    Указывает на раздел Manufacturer Name в INF-файле.  

Раздел [Manufacturer Name] включает описания устройства для указанного уст- 
ройства Ключевые слова, используемые в этом разделе, описаны в таблице. 
Синтаксис этого раздела выглядит следующим образом: 

[name_of_manufacturer]  
description of deviсe=install_section,ID_of_device[compatible_device_IDs,...]  

Информация раздела [Manufacturer Name]  
  
Ключевое слово           Описание  
  
description_of_device      Описание инсталлируемого устройства.  
install_section            Указывает имя раздела Install для этого устройства.  
ID_of_device               Идентификатор (ID) инсталлируемого устройства.  
[compatible_device_IDs,...] Содержит Ссылки на устройства, совместимые с  
                            данным. В этот список можно включить несколько  
                            устройств, разделив их запятыми.  

Раздел [File List] можно использовать для указания файлов, которые вы хоти- 
те скопировать, переименовать или удалить. В зависимости от элемента разде- 
ла [Install] вы можете использовать три следующих синтаксических параметра: 

[file_list section]  
new_filename, old_filename  

Эта конструкция используется для элементов RenFiles. Допускается вклююние 
любого количества элементов new_filename, old_filename. 

Для элементов DelFiles используется следующий синтаксис: 

[file_list section]  
filename  

Параметр filename обозначает имя файла, который вы хотите удалить. 

Для элемента CopyFiles используется следующий синтаксис. Параметры 
source_filename и temporary_filename в этой конструкции являются необязате- 
льными. 

[file_list section]  
destination_filename,source_filename,temporary_filename  

Ниже приведен образец синтаксиса раздела [Install]. Этот раздел включает 
дополнительные разделы INF-файла, которые содержат описания устройства. В 
правой части выражения, после знака равенства, можно указать несколько зна- 
чений, разделенных запятыми. 

[name_of_install_section]  
LogConfig=section_name  
Copyfiles=file_list_section  
Renfiles=file_list_section  
DelFiles=file_list_section  
UpdateInis=UpdateIni_section_name  
UpdateIniFields=UpdateIniFields_section_name  
AddReg=AddRegitry_section  
DelReg=DelRegitry_section  
Ini2Reg=IniToRegistry_section  
UpdateCfgSys=UpdateConfig_section  
UpdateAutoBat=UpdateAutoexec_section  
Reboot или Restart  

Информация раздела [Install] 

Ключевое слово             Значение         Описание  
  
[name_of_install_section]                    Содержит имя устройства, соответ-  
                                             ствующего информации, приведен-  
                                             ной в этом разделе. В разделе  
                                             ManufacturerName INF-файла дол-  
                                             жна присутствовать ссылка на  
                                             этот раздел  
  
LogСonfig                section_name        Содержит информацию о разделах  
                                             логической конфигурации уст-  
                                             ройства. Значения section_name  
                                             указывают на разделы INF-файла  
                                             в которых содержится информа-  
                                             ция о данном устройстве.  
  
CopyFiles             file_list_section      Содержит информацию, необходимую  
                                             для копирования указанного файла  
                                             или файлов в каталог, указанный  
                                             в разделе File_List. Вы можете  
                                             дать системе указание скопировать  
                                             отдельный файл. Для этого перед  
                                             именем файла необходимо включить  
                                             символ @. При этом файл будет  
                                             скопирован в каталог  
                                             DefaultDestDir, определенный в  
                                             разделе DestinationDir INF-файла.  
  
RenFiles             fiie_list_section       Позволяет переименовать указан-  
                                             ный файл. Представляет собой  
                                             указатель на раздел File_List  
                                             INF-файла.  
  
DelFiles             file_list_section       Позволяет удалить указанный  
                                             файл. Представляет собой указа-  
                                             тель на раздел FileList INF-файла.  
  
UpdateInis          UpdateIni_section_name   Позволяет указать Значение INI-  
                                             файла, которое вы хотите изме-  
                                             нить через INF-файл. Представля-  
                                             ет собой указатель на раздел  
                                             Update INI.  
  
UpdatelniFields UpdateIniFields_section_name Позволяет изменять, замещать  
                                             или удалять отдельные элементы  
                                             значений INI-файла (в отличие от  
                                             предыдущего параметра, который  
                                             изменял все значение целиком).  
                                             Этот параметр представляет со-  
                                             бой указатель на раздел Update  
                                             IniFields.  
  
AddReg                AddRegistry_section    Позволяет указать подключ или  
                                             значение, которые требуется до-  
                                             бавить в реестр. Представляет  
                                             собой указатель на раздел Add  
                                             Registry.  
  
DelReg                Del_Registry_section   Позволяет указать подключ или  
                                             значение, которые требуется уда-  
                                             лить из реестра. Представляет  
                                             собой указатель на раздел Delete  
                                             Registry  
  
Ini2Reg            IniToRegistry_section     Перемещает в реестр строки и  
                                             разделы из INI-файла. Представ-  
                                             ляет собой указатель на раздел  
                                             Ini to Registry.  
  
UpdateCfgSys        UpdateConfig_section     Содержит указатель на раздел  
                                             Update Config. в этом разделе  
                                             находятся команды, которые  
                                             должны быть добавлены, удалены  
                                             или переименованы в файле  
                                             CONFIG.SYS.  
  
UpdateAutoBat     UpdateAutoexec_section     Содержит указатель на раздел  
                                             Update AutoExec. В этом разделе  
                                             находятся команды, которые мо-  
                                             дифицируют файл AUTOEXEC.BAT.  
  
Reboot или Restart                           Команды, вызывающие перезапуск  
                                             системы или перезагрузку ком-  
                                             пьютера после завершения про-  
                                             граммы установки.  

Ниже приведен пример синтаксиса раздела [Logical Configuration]. Раздел 
[LogConfig] необходимо указать в разделе [Install]. Этот раздел содержит 
информацию о конфигурации системных ресурсов, включая IRQ, порты ввода/вы- 
вода, каналы DMA и т. д. Для каждого включаемого элемента программа Setup 
создает запись логической конфигурации в двоичном формате и включает эту 
информацию в реестр в раздел driver. INF-файлы могут содержать несколько 
(или ни одного) разделов [Logical Configuration]. Ключевые слова и значения 
этого раздела описаны в таблице. 

[LogConfig Section name]  
ConfigPriority=value_of_priority  
MemConfig=menory_range_settings  
I/OConfig=ioport_settings  
IRQConfig=irq_sectings  
DMAConfig=dma_settings  


Ключевое слово          Значение             Описание  
  
ConfigPriority         value_of_priority     Содержит значение приоритета  
                                             конфигурации для данного устрой-  
                                             ства.  
  
MemConfig          memory_range_settings     Указывает диапазон пам
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1283 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.