Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: 1 [2]  Все   Вниз
  Печать  
Автор Тема: Legacy-устройство  (Прочитано 37926 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Ллирик
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #30 : 22-10-2015 13:35 » 

а у legacy устройства может быть IRP_MN_REMOVE_DEVICE?  если ему IRP_MN_START_DEVICE  не шлется то скорее всего и IRP_MN_REMOVE_DEVICE ему не нужно?

скорее всего SCManager поможет.. правда это API
Но все равно SCManager затем вызывает какую-то функцию ядра. Вопрос какую?
Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #31 : 22-10-2015 14:33 » 

вот тут товарищ x64, говорил что "Legacy-фильтры невыгружаемы (кроме файловых фильтров, поддерживающих fast detach)."...
и вот тут ветку гляньте, что то подобное человек делал и похоже с тем же сталкивался...
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
Ллирик
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #32 : 22-10-2015 15:10 » 

и вот тут ветку гляньте, что то подобное человек делал и похоже с тем же сталкивался...
Да. Я уже эту тему читал. Вот и попробовал IoInvalidateDeviceState, но похоже придётся искать другое решение Здесь была моя ладья...
Записан
Ллирик
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #33 : 22-10-2015 16:47 » 

а вообще есть ли в ХР другой способ динамически создавать виртуальные устройства?
« Последнее редактирование: 22-10-2015 16:49 от Ллирик » Записан
Ллирик
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #34 : 24-10-2015 01:09 » 

И
Код:
invoke IoInvalidateDeviceRelations, [edx].BusMDeviceObject, RemovalRelations
почему-то не работает А черт его знает... хотя я точно знаю, что после установки inf  или после отключения моей мыши в диспетчере устройств IRP_MN_QUERY_DEVICE_RELATIONS RemovalRelations по стеку проходят, а после IoInvalidateDeviceRelations нет Здесь была моя ладья...
Записан
Ллирик
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #35 : 31-10-2015 13:46 » 

Решил сделать что-то похожее на  toaster из DDK, но мне ещё нужен верхний фильтр шины, но он почему-то не грузится. вот Inf:
Код:
[Version]

Signature="$Windows NT$"
Class=System
ClassGuid={4D36E97D-E325-11CE-BFC1-08002BE10318}
LayoutFile=layout.inf
Provider=%Mfg%
DriverVer=1/9/2015,1.0

[DestinationDirs]
DefaultDestDir   = 12


[Manufacturer]
%Mfg%=Vendor

[Vendor]
%LlirikBus.DeviceDesc%= LlirikBus,  root\LlirikBus

[LlirikBus.NT]
; Copy the driver over

CopyFiles=LlirikBus.CopyFiles

[LlirikBus_Device.NT.HW]
AddReg=LlirikBus_Device.NT.HW.AddReg

;
; File sections
;

[LlirikBus.CopyFiles]
LlirikBus.sys
Keymouse.sys

[LlirikBus_Device.NT.HW.AddReg]
HKR,,DeviceCharacteristics,0x10001,0x0100         ; Use same security checks on relative opens
HKR,,Security,,"D:P(A;;GA;;;BA)(A;;GA;;;SY)"      ; Allow generic-all access to Built-in administrators and Local system
HKR,,"UpperFilters",0x00010000,"Keymouse"
;
; Service Installation
;

[LlirikBus.NT.Services]
AddService = LlirikBus,%SPSVCINST_ASSOCSERVICE%, LlirikBus_Service_Inst
AddService = Keymouse,, Keymouse_Service_Inst

[LlirikBus_Service_Inst]
DisplayName    = %SvcDesc%
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 3                  ; SERVICE_DEMAND_START
ErrorControl   = 0                  ; SERVICE_ERROR_IGNORE
LoadOrderGroup = Extended Base
ServiceBinary  = %12%\LlirikBus.sys

[Keymouse_Service_Inst]
DisplayName    = %KMSvcDesc%
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 3                  ; SERVICE_DEMAND_START
ErrorControl   = 0                  ; SERVICE_ERROR_IGNORE
LoadOrderGroup = PNP Filter
ServiceBinary  = %12%\Keymouse.sys

[Strings]
;localized strings
SPSVCINST_ASSOCSERVICE= 0x00000002
Mfg             = "Llirik SoftWare"
SvcDesc         = "LlirikBus driver"
LlirikBus.DeviceDesc   = "LlirikBus"
KMSvcDesc         = "KeyMouse driver"
LlirikBus.sys грузится, а Keymouse.sys нет

P.S. Шина пока не создаёт никаких дочерних устройств.
Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #36 : 09-11-2015 15:36 » 

проверяем вот так, при помощи утилиты Chkinf из DDK.
Цитата
Errors:

Line 0: (E22.1.1003) Section [SourceDisksNames] not defined.
Line 1: (E22.1.1081) Directive: CatalogFile required (and must not be blank) in section [Version] for WHQL digital signature.
Line 8: (E22.1.1314) Month must be in two digit format.
Line 8: (E22.1.1315) Day must be in two digit format.
Warnings:

Line 0: (W22.1.2212) No Copyright information found.
Line 0: (W22.1.2111) [SourceDisksFiles] section not defined - full CopyFiles checking not done.
Line 6: (W22.1.2202) Unrecognized directive: LayoutFile
Line 25: (W22.1.2083) Section [LLIRIKBUS_DEVICE.NT.HW] not referenced
Line 33: (W22.1.2112) File "LlirikBus.sys" is not listed in the [SourceDisksFiles].
Line 34: (W22.1.2112) File "Keymouse.sys" is not listed in the [SourceDisksFiles].
Line 36: (W22.1.2083) Section [LLIRIKBUS_DEVICE.NT.HW.ADDREG] not referenced

выделенные варнинги - это как раз ответ на ваш вопрос)
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
Ллирик
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #37 : 09-11-2015 17:24 » 

проверяем вот так, при помощи утилиты Chkinf из DDK.
Цитата
Errors:

Line 0: (E22.1.1003) Section [SourceDisksNames] not defined.
Line 1: (E22.1.1081) Directive: CatalogFile required (and must not be blank) in section [Version] for WHQL digital signature.
Line 8: (E22.1.1314) Month must be in two digit format.
Line 8: (E22.1.1315) Day must be in two digit format.
Warnings:

Line 0: (W22.1.2212) No Copyright information found.
Line 0: (W22.1.2111) [SourceDisksFiles] section not defined - full CopyFiles checking not done.
Line 6: (W22.1.2202) Unrecognized directive: LayoutFile
Line 25: (W22.1.2083) Section [LLIRIKBUS_DEVICE.NT.HW] not referenced
Line 33: (W22.1.2112) File "LlirikBus.sys" is not listed in the [SourceDisksFiles].
Line 34: (W22.1.2112) File "Keymouse.sys" is not listed in the [SourceDisksFiles].
Line 36: (W22.1.2083) Section [LLIRIKBUS_DEVICE.NT.HW.ADDREG] not referenced

выделенные варнинги - это как раз ответ на ваш вопрос)
спасибо. разобрался Улыбаюсь
Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #38 : 10-11-2015 12:38 » new

пожалуйста, пардон что долго(
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
Страниц: 1 [2]  Все   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines