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

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: PCI COM порт под Windows XP  (Прочитано 20074 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Серж
Гость
« : 18-08-2004 13:08 » 

Господа!
Есть PCI плата COM порта,  которой нужно для работы задать встроенный драйвер Serial.sys. Под Win2000 при определении нового устройства система позволяла это делать, хотя и с руганью без всяких inf-файлов. Под ХР приходится писать inf-файл, в котором, чтобы все работало, приходится копировать драйвер serial.sys сам в себя. Кто-нибудь знает, как написать для этого inf-файл, чтобы не было так криво?
Записан
mad
Гость
« Ответ #1 : 18-08-2004 13:32 » 

в инф можно ничего не указывать для копирования. берешь и убираешь несколько секций из инфа.

давай инф
Записан
Серж
Гость
« Ответ #2 : 18-08-2004 13:44 » 

Пробовал убирать разные секции, не выходит

[Version]
Signature = "$Windows NT$"
Class=Ports
ClassGUID={4d36e978-e325-11ce-bfc1-08002be10318}
Provider=%EVS%
CatalogFile=EVSConv.cat
DriverVer= 8/17/2004

[DestinationDirs]
Conv0.Files.x86_12 = 12

[SourceDisksNames.x86]
0=%Desc_x860%

[SourceDisksNames.ia64]


[SourceDisksFiles.x86]
serial.sys=0,%12%  

[SourceDisksFiles.ia64]


[Manufacturer]
%EVS%=EVS

[EVS]
%Conv0Desc%=Conv0_Inst,PCI\VEN_1172&DEV_1201

[Conv0_Inst.ntx86]
CopyFiles = Conv0.Files.x86_12

[Conv0_Inst.ntx86.Services]
AddService = serial,0x000001FA,Conv0_Service_Instx86,

[Conv0_Service_Instx86]
ServiceType = %SERVICE_KERNEL_DRIVER%
StartType = %SERVICE_SYSTEM_START%
ErrorControl = %SERVICE_ERROR_NORMAL%
ServiceBinary = %12%\serial.sys


[Conv0.Files.x86_12]
serial.sys


[Conv0_EventLog_Inst]
AddReg = Conv0_EventLog_Inst.AddReg
 
[Conv0_EventLog_Inst.AddReg]
HKR,,EventMessageFile,%REG_EXPAND_SZ%,"%%SystemRoot%%\System32\IoLogMsg.dll"
HKR,,TypesSupported,%REG_DWORD%,7


[Strings]

;  *******Localizable Strings*******
EVS= "ЗАО ЭВС"
Desc_x860= "ЗАО ЭВС Portsdrivers"
Conv0Desc= "ЭВС Конвертер"

;  *******Non Localizable Strings*******

SERVICE_BOOT_START = 0x0
SERVICE_SYSTEM_START = 0x1
SERVICE_AUTO_START = 0x2
SERVICE_DEMAND_START = 0x3
SERVICE_DISABLED = 0x4

SERVICE_KERNEL_DRIVER = 0x1
SERVICE_ERROR_IGNORE = 0x0
SERVICE_ERROR_NORMAL = 0x1
SERVICE_ERROR_SEVERE = 0x2
SERVICE_ERROR_CRITICAL = 0x3

REG_EXPAND_SZ = 0x00020000
REG_DWORD = 0x00010001
Записан
mad
Гость
« Ответ #3 : 18-08-2004 14:30 » 

ЗАО ЭВС  Улыбаюсь  Вот вы и раскололись, товарищ Штирлиц
Записан
Серж
Гость
« Ответ #4 : 18-08-2004 14:42 » 

Все мы где-то работаем. А что по поводу удаления секций?
Записан
Anonymous
Гость
« Ответ #5 : 18-08-2004 14:56 » 

меня это порадовало....
SourceDisksFiles.ia64

ммммда....пришло уже время =)

попробуй так


Цитата

[Version]
Signature = "$Windows NT$"
Class=Ports
ClassGUID={4d36e978-e325-11ce-bfc1-08002be10318}
Provider=%EVS%
CatalogFile=EVSConv.cat
DriverVer= 8/17/2004

[DestinationDirs]
Conv0.Files.x86_12 = 12

[SourceDisksNames.x86]
0=%Desc_x860%


[SourceDisksFiles.x86]
serial.sys=0,%12%


[Manufacturer]
%EVS%=EVS

[EVS]
%Conv0Desc%=Conv0_Inst,PCI\VEN_1172&DEV_1201

;[Conv0_Inst.ntx86]
;CopyFiles = Conv0.Files.x86_12

;[Conv0_Inst.ntx86.Services]
;AddService = serial,0x000001FA,Conv0_Service_Instx86,

;[Conv0_Service_Instx86]
;ServiceType = %SERVICE_KERNEL_DRIVER%
;StartType = %SERVICE_SYSTEM_START%
;ErrorControl = %SERVICE_ERROR_NORMAL%
;ServiceBinary = %12%\serial.sys


;[Conv0.Files.x86_12]
;serial.sys
;

;[Conv0_EventLog_Inst]
;AddReg = Conv0_EventLog_Inst.AddReg

;[Conv0_EventLog_Inst.AddReg]
;HKR,,EventMessageFile,%REG_EXPAND_SZ%,"%%SystemRoot%%\System32\IoLogMsg.dll"
;HKR,,TypesSupported,%REG_DWORD%,7


[Strings]

; *******Localizable Strings*******
EVS= "ЗАО ЭВС"
Desc_x860= "ЗАО ЭВС Portsdrivers"
Conv0Desc= "ЭВС Конвертер"

; *******Non Localizable Strings*******

SERVICE_BOOT_START = 0x0
SERVICE_SYSTEM_START = 0x1
SERVICE_AUTO_START = 0x2
SERVICE_DEMAND_START = 0x3
SERVICE_DISABLED = 0x4

SERVICE_KERNEL_DRIVER = 0x1
SERVICE_ERROR_IGNORE = 0x0
SERVICE_ERROR_NORMAL = 0x1
SERVICE_ERROR_SEVERE = 0x2
SERVICE_ERROR_CRITICAL = 0x3

REG_EXPAND_SZ = 0x00020000
REG_DWORD = 0x00010001



ты что не любишь эксперементировать?
Записан
mad
Гость
« Ответ #6 : 18-08-2004 14:58 » 

А какие проблемы? Конкретней? Вроде поставил, только девайс не показывается в менеджере..
Записан
mad
Гость
« Ответ #7 : 18-08-2004 14:59 » 

или
replace ;[   =>  [
Записан
Серж
Гость
« Ответ #8 : 19-08-2004 07:08 » 

И в первом и во втором случаях в логе выдается
Ошибка 0xe0000219: Ошибка установки вследствие того, что драйвер функции не указан для этого устройства.
Записан
mad
Гость
« Ответ #9 : 19-08-2004 07:11 » 

а ты закрой глазки и не смотри syslog
Записан
Серж
Гость
« Ответ #10 : 19-08-2004 07:22 » 

А желтый знак вопроса в диспетчере устройств, по-моему, для пользователя еще хуже, чем копирование драйвера самого в себя.
Записан
mad
Гость
« Ответ #11 : 19-08-2004 09:26 » 

что пишут в траблшуторе?
Записан
Серж
Гость
« Ответ #12 : 19-08-2004 10:53 » 

mad,
единственное, что я нашел, это исходный английский текст фразы к ошибке 219 в setupapi.h:
ERROR_NO_ASSOCIATED_SERVICE
Записан
mad
Гость
« Ответ #13 : 19-08-2004 12:53 » 

Ну тогда оставь

;[Conv0_Inst.ntx86.Services]
;AddService = serial,0x000001FA,Conv0_Service_Instx86,

;[Conv0_Service_Instx86]
;ServiceType = %SERVICE_KERNEL_DRIVER%
;StartType = %SERVICE_SYSTEM_START%
;ErrorControl = %SERVICE_ERROR_NORMAL%
;ServiceBinary = %12%\serial.sys
Записан
Серж
Гость
« Ответ #14 : 19-08-2004 16:31 » new

Спасибо всем, кто принял участие в обсуждении. Тему закрываю.mad, твой последний вариант приводит к тому же сообщению об ошибке.
Я вышел из положения таким образом, поняв, что без секций копирования не обойтись:
1. В инсталляционный каталог я закинул файл serial.sys (на самом деле, неважно какой, так как он копироваться не будет). Это позволило избежать появления диалоге о поиске источника для файла serial.sys.
2. В секции CopyFiles добавил 4-м параметром флаг 0x00000010,
 чтобы существующий файл драйвера не заменялся на новый.
[Conv0.Files.x86_12]
serial.sys,,,0x00000010
3.Конечно, ЗАО ЭВС заменил на Microsoft, так как драйвер то их.
 Так все хорошо.  Отлично
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines