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

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Доступ к объуктам ??\\Global  (Прочитано 4695 раз)
0 Пользователей и 1 Гость смотрят эту тему.
AlexCasual
Помогающий

by
Offline Offline

« : 11-06-2012 19:28 » 

Собственно вопрос -  как из драйвера можно получить доступ к объекту из ??\\Global\\ - например,user-mode приложение создаёт событие в глобальном каталоге имён ??\\Global\\UserModeEvent,как к нему получить доступ в драйвере,чтобы сбросить или установить?
Записан
Ochkarik
Модератор

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

« Ответ #1 : 11-06-2012 22:30 » 

может быть ZwOpenDirectoryObject поможет.... попробуйте про нее посмотреть.
это я навскидку, может я не прав)

Добавлено через 22 часа, 57 минут и 40 секунд:
PS еще полистайте статью
Using NT’s Undocumented Object Manager Interface. "Dr`Dobbs" Dieter Spaar, October 01, 1997
она старенькая но может поможет. функции уже вроде документированными стали. там несколько страничек с исходным кодом. похоже на нужное.
« Последнее редактирование: 12-06-2012 21:27 от Ochkarik » Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
oleshii
Участник

ru
Offline Offline

« Ответ #2 : 20-06-2012 06:22 » 

К osronline - одна из самых первых статей в NtInsider. Легче всего из приложения посредством private IOCTL передать
event handle драйверу. Драйвер выполняет ObReferenceObjectByHandle, получая указатель на объект event.
Делать это нужно ASAP, не передавая обработку IOCTL в драйвере system thread или workitem. Иначе просто event
handle перестанет быть vallid, поскольку "уплывает" thread и process context. Попытка из драйвера перечислить
объекты в ??\\Global\\ will be mislead, поскольку UI объекты в разных системах создаются в директории BaseNamedObjects,
которая является symbollic link, и может меняться в конексте OS. Что сие значит ? Если OS - server (W2K3, NT4 Srv, 2008),
она допускает одновременную работу НЕСКОЛЬКИХ пользователей (например, по Remote Desktop, хотя сие не обязательно).
В котнексте КАЖДОЙ пользовательской сессии ссылка BaseNamedObjects БУДЕТ трактоваться по-разному.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines