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

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

Народ, поделитесь опытом... пишу драйвер для PCI под W2000
использую DriverStudio3.  Возникла проблема с чтением данных из памяти. Использую метод METHOD_OUT_DIRECT для записи в память и METHOD_IN_DIRECT для чтения.
Запись..
wr_data pBuffer_in=*(wr_data*)I.IoctlBuffer();   // структура (передается из апликухи)
   ULONG ad = pBuffer_in.address_ ;
   ULONG ch = pBuffer_in.ch_;
   PULONG dt = pBuffer_in.data_ ;
         KMemoryRange   m_Mem1;
   m_Mem1.outd(ad,dt,ch);  
пишет в память правильно..
Чтение
rd_data pBuffer_r=*(rd_data*)I.IoctlBuffer(); // структура
   ULONG ad = pBuffer_r.address_ ;
   ULONG ch = pBuffer_r.ch_;

   KMemory Mem(I.Mdl());

   PULONG   pBuffer   = (PULONG) Mem.MapToSystemSpace();
         KMemoryRange   m_Mem1;
   m_Mem1.ind(ad,pBuffer,ch);
начинаю смотреть содержимое pBuffer, а там полная фигня.... ну или изменены некоторые байты. Использую ДДК ХР, но компилирую для 2000, пробовал и ДДК2000, все тоже самое.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines