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

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

Подскажите не грамотному как сделать общую память для
АПИ приложения и  драйвера, чтобы через неё можно было общаться
не используя IOCTL интерфейс этого драйвера?
Записан
DivineGlitch
Гость
« Ответ #1 : 23-05-2004 14:48 » new

LARGE_INTEGER Li;
   UNICODE_STRING name;
   OBJECT_ATTRIBUTES oa;
   SIZE_T j;
PVOID RequestBuf;
HANDLE hSection
      
   Li.HighPart=0;
   Li.LowPart=12; //размер буфера
   j=12;
   
   RequestBuf=0;
   RtlInitUnicodeString(&name, L"\\BaseNamedObjects\\MyName");
   InitializeObjectAttributes(&oa, &name, 0, 0, 0);
   ZwCreateSection(&hSection, SECTION_ALL_ACCESS, &oa, &Li, PAGE_READWRITE, SEC_COMMIT, NULL);

   ZwMapViewOfSection(hSection, NtCurrentProcess(), &RequestBuf, 0, 12, NULL, &j, ViewShare, 0, PAGE_READWRITE);
ZwClose(hSection)

(в конце надо сделать ZwUnmapViewOfSection)
API процесс прочитает эту память также открыв секцию "MyName" и сделав MapViewOfFile, если я не ошибаюсь Ага
Записан
maaaaaad
Гость
« Ответ #2 : 24-05-2004 03:46 » 

=) забавно, я такого еще не видел =)
Записан
igor_m
Гость
« Ответ #3 : 24-05-2004 04:33 » 

Спасибо,попробую.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines