Установка драйвера батареи
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