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

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

ua
Offline Offline

« Ответ #60 : 21-05-2012 14:55 » 

Ochkarik, я в ДЛЛ ни чего не изменял... она ведь со старым драйвером прекрасно работала, и єти все функции тоже работали....
Цитата
"объект kEvent - создается в драйвере... " - вот тут не понял?)
обьявлен и создается в драйвере... или не так?
Код: (C++)
PKEVENT                    _kEvent;
//...
status = ObReferenceObjectByHandle(        //Create reference to Event Object with Application
                           hEvent,              //Handle as Event Object
                           GENERIC_ALL,//EVENT_MODIFY_STATE,   //Can Modify Event Object state
                           NULL,    //Type of event object. if File object - *IofileObjectType
                           UserMode,   //UserMode or KernelMode. If KernelMode - Set Previuos parameter to NULL
                           (PVOID *)&_kEvent,              //Global pointer to Event object
                           NULL);
Цитата
TimeOut  - как задан?
задается из приложения... посмотрю значение из ДЛЛ ...
Цитата
WaitForSingleObject - что возвращает?
посмотрю значение из ДЛЛ ...
« Последнее редактирование: 21-05-2012 15:01 от sabbatazh » Записан
Ochkarik
Модератор

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

« Ответ #61 : 21-05-2012 15:14 » 

формулировка:
создание - это если б вы IoCreateSynchronizationEvent/IoCreateNotificationEvent в драйвере делали...
а ObReferenceObjectByHandle - ссылку на уже существующий объект созданный в приложении получает.


Добавлено через 5 минут и 25 секунд:
и кстати получает не....
читайте описание функции ObReferenceObjectByHandle Ага

Добавлено через 5 минут и 31 секунду:
PS третий и четвертый параметр. да и второй тоже... не факт.

Добавлено через 29 секунд:
Код: (C)
                status =
                        ObReferenceObjectByHandle(  hEvent,
                                                    EVENT_MODIFY_STATE,
                                                    *ExEventObjectType,
                                                    KernelMode,
                                                    (PVOID*)&kEvent,
                                                    NULL);
« Последнее редактирование: 21-05-2012 15:28 от Ochkarik » Записан

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

ua
Offline Offline

« Ответ #62 : 22-05-2012 15:43 » 

Ochkarik, спасибо за помощь! Почитал... просветился!)
Цитата
WaitForSingleObject - что возвращает?
возвращает значение отличное от WAIT_OBJECT_0... не пойму с чем это связано!
Цитата
TimeOut  - как задан?
задано 1000 ...
Записан
Ochkarik
Модератор

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

« Ответ #63 : 22-05-2012 15:49 » 

отличное - это наверное таймаут.
не знаю как вы проверяете - ничего сказать не могу... попробуйте собрать минимальный тестовый пример и вызвать событие напрямую.
Записан

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

ua
Offline Offline

« Ответ #64 : 22-05-2012 17:26 » 

Ochkarik, Вы как всегда правы!!!!
изменил ДЛЛ прописал вместо TimeOut... INFINITE
Код: (C++)
if(WaitForSingleObject(InterruptEventHandle, INFINITE)==WAIT_OBJECT_0) // TimeOut
и все заработало!!! )))
Огромное Вам Спасибо!!!
Записан
Ochkarik
Модератор

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

« Ответ #65 : 22-05-2012 18:30 » new

ну что-ж... но все таки старайтесь избегать бесконечных ожиданий)
всегда пожалуйста)
Записан

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

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines