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

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Как получить DesiredAccess  (Прочитано 7398 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Anonymous
Гость
« : 27-10-2003 11:43 » 

Используя DriverWorks?
IMHO, он должен быть
KIrp::CurrentStackLocation()->Parameters.Create.SecurityContext->DesiredAccess
но там, мусор. Как его еще можно добыть?
Записан
SlavaI
Главный специалист

ru
Offline Offline

« Ответ #1 : 28-10-2003 06:39 » 

Да вроде только там могут быть параметры, переданные NtCreateFile.
Записан
Anonymous
Гость
« Ответ #2 : 28-10-2003 07:55 » 

А если используется просто CreateFile?
Записан
SlavaI
Главный специалист

ru
Offline Offline

« Ответ #3 : 28-10-2003 09:00 » 

А CreateFile вызывает NtCreateFile из ntdll.dll, который переводит систему в режим ядра и вызывает NtCreateFile из ядра.
Не путай функции режима ядра и юзер мод функции.
Я говорил только про режим ядра, так как в юзер моде вобще ничего толкового не делается, и уж тем более не создается IRP, там только код перехода в режим ядра и код проверки параметров, переданных ф-ции, в независимости от того что вызывать- CreateFile/NtCreateFile/ZwCreateFile.
Записан
Anonymous
Гость
« Ответ #4 : 28-10-2003 09:32 » 

Может я тогда чего-то не понимаю. В указанной выше структуре всегда находится значение что-нибудь типа 0012fe55? указывает в никуда само значение тоже мало похоже на GENERIC_READ. Как его еще можно интепретировать?

BTW: А как обычно делают в драйверах дуплексный режим? Если ожидать прием данных, то ничего больше с драйвером не сделать, если создать нить, то что делать IRP_MJ_READ? Ее как бы надо закончить, но тогда и readfile ничего не получит.
Пока только overlapped  подходит, но это не совсем то.
Записан
SlavaI
Главный специалист

ru
Offline Offline

« Ответ #5 : 28-10-2003 09:55 » 

Если запрос IRP_MJ_CREATE / IRP_MJ_CREATE_NAMED_PIPE / IRP_MJ_CREATE_MAILSLOT, то в pIrpStack->Parameters.Create.SecurityContext->DesiredAccess находится запрашиваемый уровень доступа. Естественно для других IRP_MJ_... запросов это не верно.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines