Поделиться через


Установка драйвера батареи

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

В этом разделе описываются записи, относящиеся к батарее, в INF-файле. Дополнительные сведения о создании и распространении INF-файлов и установке драйверов см. в статье Создание INF-файла и разделов и директив INF-файлов.

INF-файл драйвера батареи содержит разделы, описанные ниже.

Версия

INF-файл драйвера батареи указывает класс батареи и его GUID, используя раздел INF Version, как показано в следующем примере:

[Version]
Signature="$WINDOWS NT$"
Class=Battery
ClassGuid={72631e54-78a4-11d0-bcf7-00aa00b7b32a}
Provider=%MyCo%
CatalogFile=ExampleCatalog.cat
PnpLockdown=1

Обратите внимание, что %MyCo% необходимо определить в разделе INF Strings (не отображается).

DestinationDirs

В разделе INF DestinationDirsINF драйвер батареи указывает хранилище драйверов (13) в качестве значения по умолчанию для всех файлов.

[DestinationDirs]
DefaultDestDir = 13

Изготовитель

Раздел INF Manufacturer определяет производителя устройства.

[Manufacturer]
%MyCo%=MyCompany,NTamd64.10.0...16299

Модели

В разделе INF Models указывается идентификатор оборудования PnP батареи (показан как pnpid в примере). Если устройство перечисляется с помощью ACPI, этот раздел также должен указать идентификатор стиля EISA (показан как acpidevnum). Сведения о создании этих идентификаторов см. в спецификации усовершенствованного интерфейса конфигурации и управления питанием , доступной на веб-сайте ACPI / Управление питанием.

[MyCompany.NTamd64.10.0...16299]
%pnpid.DeviceDesc% = NewBatt_Inst,pnpid
%ACPI\acpidevnum.DeviceDesc% = NewBatt_Inst,ACPI\acpidevnum

DDInstall

В разделе INF DDInstall (с именем NewBatt_Inst в примере) директива INF CopyFiles копирует новый драйвер миникласса (NewBatt.sys) в место назначения, указанное в директиве DestinationDirs. Директива Include и Needs, указывающая зависимость от драйвера класса батареи через Battery_Inst от battery.inf, также необходима.

[NewBatt_Inst]
CopyFiles = @NewBatt.sys
Include = battery.inf
Needs = Battery_Inst

DDInstall.Services

INF DDInstall. Раздел сервисов содержит директиву INF AddService, которая указывает дополнительные сведения о драйвере батареи. INF-файл драйвера батареи должен указывать на то, что драйвер является драйвером ядра, который использует обычную обработку ошибок и начинается во время инициализации операционной системы. Драйверы батареи указывают группу порядка загрузки Extended Base.

[NewBatt_Inst.Services]
AddService = NewBatt,2,NewBatt_Service_Inst    ; function driver for the device
 
[NewBatt_Service_Inst]
DisplayName    = %NewBatt.SvcDesc%
ServiceType    = 1 ;    SERVICE_KERNEL_DRIVER
StartType      = 3 ;    SERVICE_DEMAND_START
ErrorControl   = 1 ;    SERVICE_ERROR_NORMAL%
ServiceBinary  = %13%\NewBatt.sys