ключевая строка в последней ссылке)
на самом деле берем пример
WinDDK\7600.16385.1\src\general\toaster\wdm\inf\i386\toasterf.inf
- это установка верхнего и нижнего фильтра класса (тут у вас может быть другой класс).
либо WinDDK\7600.16385.1\src\general\toaster\wdm\inf\i386\filter.inf
- фильтр конкретного устройства.
девайс toaster - это "тостер"))) совершенно абстрактный пример, совершенно абстрактной железки реально не существующей.
а дальше для понимания сути происходящего - попробуйте расшифровать смысл каждой секции по документации
Summary of INF Sectionsи все встанет на свои места) там почти последовательно все идет.
[Version]
... посмотрите что в нем может быть и зачем.
[Manufacturer]
- тут %StdMfg% это из секции [Strings] MSFT = "Microsoft"
то есть объявляем производителя inf - "Microsoft" с секцией возможных установок, равной Standard
далее собственно эта секция:
[Standard]
%ToasterFilter.DeviceDesc%=ToasterFilter, {b85b7c50-6a01-11d2-b841-00c04fad5171}\MsToaster
; тут из [Strings] объявлено %ToasterFilter.DeviceDesc% = "Microsoft Toaster With Upper Device Filter"
; следовательно этот inf предлагает установку (тут может быть несколько строк оборудования-драйверов):
; "Microsoft Toaster With Upper Device Filter" = установка по разделу "ToasterFilter", ветка девайса в реестре {...ляляля...\MsToaster}
; для нее, необходимо выполнить секцию [ToasterFilter.NT] для установки в x32 или ToasterFilter.ntamd64( для x64)
[ToasterFilter.NT]
Include=toaster.inf ; +включает установку toaster.inf, ключевое слово Include (см доку)
Needs=Toaster_Device.NT ; <=нужен раздел (дока по Needs) из toaster.inf
CopyFiles=ToasterFilter.NT.Copy ;<- какие файлы копировать при установке (дока по CopyFiles)
AddReg=ToasterFilter.NT.AddReg ;<= что добавить в реестр для установки (дока по AddReg)
[ToasterFilter.NT.AddReg]
;- пустой, то есть никаких не связанных с "железкой" ключей в реестр не надо.
[ToasterFilter.NT.HW]
AddReg = ToasterFilter.NT.HW.AddReg
; AddReg ->при добавлении оборудования ( ключ .HW), добавить в реестр по секции .NT.HW.AddReg
Include = toaster.inf ; - должен быть запущен toaster.inf
Needs = Toaster_Device.NT.HW ;<-- с этим разделом
[ToasterFilter.NT.HW.AddReg]
HKR,,"UpperFilters",0x00010000,"DevUpper"
; reg-root, [subkey],[value-entry-name],[flags],[value]
; - собственно установка сервиса с именем DevUpper в качестве UpperFilters данного устройства
; (поставленного по toaster.inf). он там появится подключем в реестре в разделе данного устройства из toaster.inf .
[ToasterFilter.NT.Services]
AddService = DevUpper,, filter_Service_Inst
; - тут добавить сервис, то есть собственно драйвер с фильтром.(описан ниже в [filter_Service_Inst])
; AddService=ServiceName,[flags],service-install-section
и т.д.
наверное я немного запутанно говорю... но полезнее чтобы вы сами доку начали смотреть) честно говоря сам только недавно начал слегка понимать, когда пришлось написать inf для установки сервиса, который запускатся до Login в винде и выполняет кучку exe-шников. до этого шаблоном каким то пользовался готовым.
PS я очень запутанно) три часа ночи как ни как)))