работа с Nautilus через Wosa

Банкоматы бренда Nautilus Hyosung
Andrey_Fish
Местный
Сообщения: 120
Зарегистрирован: 07 июн 2010, 12:12
Авто: Nissan Pimera
Поблагодарили: 2 раза

работа с Nautilus через Wosa

Непрочитанное сообщение Andrey_Fish »

Добрый день всем.Пытаюсь перехватить события вставки и изьятия карточки на банкомате Nautilus 5600 с утановленным TellMe через Wosa,в с++не великий специалист поэтому прошу не смеятся))
создал приложение Win32 Application ,линкую его с библиотекой msxfs.lib,для простоты сообщения вывожу в файл,использую текущую процедуру обработки сообщений WndProc
hr = WFSStartUp(version,&ver); отрабатывает нормально
hr = WFSOpen("CardReader",WFS_DEFAULT_HAPP,NULL,NULL,WFS_INDEFINITE_WAIT,version,&v1,&v2,&h); зависает
если укажу
hr = WFSOpen("SANKYOIDC",WFS_DEFAULT_HAPP,NULL,NULL,WFS_INDEFINITE_WAIT,version,&v1,&v2,&h); возвращает -43(WFS_ERR_SERVICE_NOT_FOUND)

ветка реестра
[HKEY_USERS\.DEFAULT\XFS\LOGICAL_SERVICES\CardReader]
"Provider"="SANKYOIDC"
@=""
"Class"="IDC"

ну дальше понятное дело непроходит поэтому дальнейший код не привожу,подскажите пожалуйста
Аватара пользователя
Slevin
Ведущий специалист
Сообщения: 537
Зарегистрирован: 09 окт 2010, 16:21
Поблагодарили: 21 раз

Re: работа с Nautilus через Wosa

Непрочитанное сообщение Slevin »

может цепляться к DLL с банкомата?
Andrey_Fish
Местный
Сообщения: 120
Зарегистрирован: 07 июн 2010, 12:12
Авто: Nissan Pimera
Поблагодарили: 2 раза

Re: работа с Nautilus через Wosa

Непрочитанное сообщение Andrey_Fish »

не знаю,наверное могу,а какую DLL подгрузить? и где взять описание функций в ней?
Andrey_Fish
Местный
Сообщения: 120
Зарегистрирован: 07 июн 2010, 12:12
Авто: Nissan Pimera
Поблагодарили: 2 раза

Re: работа с Nautilus через Wosa

Непрочитанное сообщение Andrey_Fish »

или вы имеете ввиду технологию DLL Injection ?подцепиться к библиотеке wosa и перехватывать события уже оттуда?
мне один умный человек подсказал(и показал как) что нужно использовать версию wosa xfs выше чем 3 тогда я нормально загрузил программу нот к сожалению могу лишь поймать событие вынимания карты(класс Service_Event) событие встаки карты поймать не могу так как относиться к классу Execute_Event
если вы делали перехват событий через подгрузку DLL подскажите пожалуйста каким образом
Аватара пользователя
Slevin
Ведущий специалист
Сообщения: 537
Зарегистрирован: 09 окт 2010, 16:21
Поблагодарили: 21 раз

Re: работа с Nautilus через Wosa

Непрочитанное сообщение Slevin »

наверное я не понял сути... я думал что вы не можете откртыть и зарегить сервис провайдер. по поводу хукинга (как делают многие кто пишет MV системы мониторинга) я не писал. смысл в том что нужно использовать оригинальную DLL (XFS манагера) Nautilus, а не использовать стандартный либ. По идее у наутилуса должно быть описание его XFS. По крайней мере знаю что есть описания винкора. аптры, и агилиса. Если нет описания можнопридерживаться стандартного CEN XFS. Вот и все. Перехват событий - это отдельная тема - тут либо хукинг, либо стандартный трейc-триггеры событий. В винкоре это сделать легко - используя нативные возможности ПО банкомата (без хуков). Наутилус я в глаза не видел как банкомат так что...
Andrey_Fish
Местный
Сообщения: 120
Зарегистрирован: 07 июн 2010, 12:12
Авто: Nissan Pimera
Поблагодарили: 2 раза

Re: работа с Nautilus через Wosa

Непрочитанное сообщение Andrey_Fish »

мне именно нужно перехватить события,не хотелось бы заниматься хукингом,сложновато это в моем понимании,внедрятся в процесс мэнеджера и чего то там посмотреть и ничего не порушить потом(((хотелось чего нибудь стандартного.описание xfs я что то не нашел,по крайне мере в документации на моем уровне нет ничего похожего
Demznak
Новичок
Сообщения: 49
Зарегистрирован: 03 дек 2011, 01:27
Благодарил (а): 1 раз
Поблагодарили: 1 раз

Re: работа с Nautilus через Wosa

Непрочитанное сообщение Demznak »

Andrey_Fish писал(а):hr = WFSStartUp(version,&ver); отрабатывает нормально
hr = WFSOpen("CardReader",WFS_DEFAULT_HAPP,NULL,NULL,WFS_INDEFINITE_WAIT,version,&v1,&v2,&h); зависает
если укажу

Ты правильно все делаешь.
А остальные параметры укажи значения.
Просто ты используешь синхронную функцию.

Кстати ты пробовал другими утилитами конектиться к ридеру?
icq 263334868
Ответить