ntdll.h
|
Новый участник Сообщения: 7 |
Профиль | Отправить PM | Цитировать Помогите найти хидер ntdll.h под W2k DDK - его нет в стандартной поставке DDK, а все экзамплы ссылаются на него... (
В DDK я ни разу не программирвал, теперь вот нужно наваять утилитку для сноса блокирующих ресурсы процессов... В общем, беда. |
|
Отправлено: 13:55, 28-01-2003 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать Спасибо Билли Поттеру - всё получилось. Чёртов хидер сваял руками. |
Отправлено: 18:02, 28-01-2003 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Модер Сообщения: 1716
|
Профиль | Сайт | Отправить PM | Цитировать Lood
Если чего надо конкретно - пиши, вроде разбираемся в меру сил в этом. |
------- Отправлено: 18:27, 28-01-2003 | #3 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать Спасибо, надо
ZwQueryObject возвращает мне имя открытого файла в виде "\Device\HarddiskVolume2\TEMP\~DFA514.tmp" Как мне получить соответствие "\Device\HarddiskVolume" его DosDevice ? Рою DDK, зарылся уже поуши, а света пока нет... |
Отправлено: 19:36, 28-01-2003 | #4 |
Модер Сообщения: 1716
|
Профиль | Сайт | Отправить PM | Цитировать Lood
1) ZwQueryinformationFile(что-то типа FileNameInformation) вернет тебе его сразу, если это возможно. 2) Это соответствие не всегда однозначно, так что вопрос ставишь некорректно. Примеры - subst и net use (кстати, имя будет \Device\LanmanRedirector\..) Если надо все - задача решается от обратного. Перечисляются все диски в виде DosDevice, для каждого строится имя в Native-формате и потом построчно они сравниваются, везде где совпало - потенциально возможное имя, выбирай любое. |
|
------- Отправлено: 20:17, 28-01-2003 | #5 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать Да, я неверно поставил вопрос.
Именно из-за возможных subst мне нужно получать имя в формате \Device\... (Я так понимаю, мапировка subst глубоко по-барабану в данном варианте). А вот насчёт возможности "net use" на локальный путь я забыл... Гм... придётся думать, как это обойти Я делаю небольшую консольную утилитку, которая будет сносить процессы, удерживающие файлы в определённых каталогах. С проблемой врагов, пролезших через сеть, я разобрался достаточно просто. А вот те, кто сидит в терминальных сессиях (имеет место быть терминальный сервер с кучей народу на нём) - из за этих гм... нехороших людей пришлось лезть в DDK. Затык у меня вот какой - как мне перевести имя логического диска из Dos формата в этот самый \Device\HarddiskVloume# ? |
Отправлено: 20:38, 28-01-2003 | #6 |
Модер Сообщения: 1716
|
Профиль | Сайт | Отправить PM | Цитировать Lood
Пример такой функции (а их даже 2 будет) я приведу через пару дней на zw.nightmail.ru. Как время будет - залью ее туда. Цитата:
|
|
------- Отправлено: 21:01, 28-01-2003 | #7 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать vasketsov
Большое спасибо за помощь! С net use действительно проблем нет - я их ловлю через NetApi. А вот насчёт соответствия DosName-Device - не подскажешь хоть примерно, где рыть? Имя функции, дальше я сам разгребу... Нашел в реестре ключ HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices - но кажется это не совсем то, что надо... |
Отправлено: 21:11, 28-01-2003 | #8 |
Модер Сообщения: 1716
|
Профиль | Сайт | Отправить PM | Цитировать Lood
http://zw.nightmail.ru/_filenam.htm Толькопервая часть, но я так понял, у тебя проблем с получением имени файлв по хэндлу нет и с перечислением загруженных библиотек - тоже. |
------- Отправлено: 17:07, 29-01-2003 | #9 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать Огромное спасибо, всё прекрасно работает.
Но вот вопрос: при ZwQueryObject(..., ObjectNameInformation, ...) на некоторые процессы, а так же подвисшие приложения - моя прога тут же затягивает узел на той же вешалке. В доке написано, что так и должно быть: Цитата:
Сейчас я отказался от анализа процессов, запущенных под SYSTEM account, чтобы не налететь на службы. Но любой подвешенный процесс вешает так же и мой... |
|
Отправлено: 20:33, 29-01-2003 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Загрузка - [решено] c0000221 ntdll.dll hard error | SultanOFF | Microsoft Windows Vista | 6 | 15-02-2012 09:31 | |
Разное - Не запускаются программы. ntdll.dll | Reindjer | Лечение систем от вредоносных программ | 2 | 08-12-2009 13:54 | |
Установка - Помогите заменить ntdll.dll файл | PulSar.CE194694 | Microsoft Windows 2000/XP | 12 | 18-06-2008 14:42 | |
ntdll.dll в WinXP | Guest | Microsoft Windows 2000/XP | 11 | 12-02-2004 02:11 |
|