Форум: "WinAPI";
Текущий архив: 2007.07.15;
Скачать: [xml.tar.bz2];
ВнизInterProcessCommunication Найти похожие ветки
← →
sdkit (2007-02-06 14:50) [0]доброго времени суток всем.
не подскажите, можно ли получить список объектов (а именно memory-mapped-file"ов) в системе, выполняясь на уровне пользователя или службы...
← →
Игорь Шевченко © (2007-02-06 14:51) [1]Можно, но очень сложно. Возникает вопрос - а нафига ?
← →
sdkit (2007-02-07 06:49) [2]Извините, но было бы не нужно - не спрашивал бы..
Задача - есть n-ое количество процессов, которые создают по одному mmf на процесс, имена mmf неизвестны. Необходимо получить список mmf, если известно имя exe-шника процесса, но неизвестно количество копий процесса (я думаю, не стоит уточнять, что имена mmf уникальны)..
← →
Alex Konshin © (2007-02-07 09:18) [3]Если они именованные, то очень просто.
Скачай WinObj http://www.microsoft.com/technet/sysinternals/SystemInformation/WinObj.mspx
Если ты там увидишь те объекты, что тебе нужны, то достать их из твоей программы будет достаточно просто. У меня на сайте есть пример NativeApp, да и у Игоря было что-то по этому поводу.
← →
Чапаев © (2007-02-07 09:19) [4]> имена mmf уникальны
Дописывай к имени идентификатор процесса.
← →
Игорь Шевченко © (2007-02-07 10:41) [5]
> Необходимо получить список mmf, если известно имя exe-шника
> процесса, но неизвестно количество копий процесса (я думаю,
> не стоит уточнять, что имена mmf уникальны)..
Связка NtQuerySystemInformation (SystemHandleInformation)+ NtQueryObject может быть и справится
← →
sdkit (2007-02-07 13:14) [6]спасибо всем, пошел по простейшему пути - exename+pid, правда, для этого пришлось вытребовать исходник того, что их делает...
а теперь еще один интересный вопрос - могу ли я, крутясь на уровне службы, прибить этот объект?
← →
Чапаев © (2007-02-07 13:24) [7]> [6] sdkit (07.02.07 13:14)
Без извращений -- нет, насколько я знаю.
← →
BiN © (2007-02-07 14:05) [8]
> sdkit (07.02.07 13:14) [6]
DuplicateHandle(...., DUPLICATE_CLOSE_SOURCE) (?)
← →
sdkit (2007-02-07 14:41) [9]DuplicateHandle не работает... есть сильное подозрение, что я не могу прибить не-свой-объект
> Чапаев
а с извращениями?
или другой вопрос - при TerminateProcess удаляются подобные объекты или нет?
← →
Riply © (2007-02-07 14:53) [10]>[9] sdkit (07.02.07 14:41)
>DuplicateHandle не работает... есть сильное подозрение, что я не могу прибить не-свой-объект
У меня срабатывал
← →
Kolan © (2007-02-07 15:00) [11]> или другой вопрос - при TerminateProcess удаляются подобные
> объекты или нет?
Я конечно не спец, но имхо они удалятся когда никому нужны не будут. Те если их 2 процесса используют, а ты прибьёшь 1, то объект останется.
← →
BiN © (2007-02-07 15:11) [12]
> sdkit (07.02.07 14:41) [9]
>
> DuplicateHandle не работает
Работает.
Другой вопрос, какие могут быть негативные последствия такого варварского способа вмешательства в работу стороннего процесса.
← →
sdkit (2007-02-08 06:56) [13]блин, ну я же говорю - "не прыгают они"!
последствия вмешательства, я думаю, неважны - если уж я прибиваю объект, принадлежащий зависшему процессу, которого ждет Terminate...
← →
BiN © (2007-02-08 10:13) [14]
> sdkit (08.02.07 06:56) [13]
>
> блин, ну я же говорю - "не прыгают они"!
код в студию или транспортир.
← →
GrayFace © (2007-02-09 01:20) [15]sdkit (08.02.07 6:56) [13]
последствия вмешательства, я думаю, неважны - если уж я прибиваю объект, принадлежащий зависшему процессу, которого ждет Terminate...
Дак зачем тогда прибивать?
← →
sdkit (2007-02-09 07:01) [16]вот я потому и спрашиваю, что нет у меня уверенности в том, что система прибъет эти объекты...
P.S. экспериментальным путем установлено, что неопознанные объекты ядра удаляются.. соответственно, надобность в DuplicateHandle etc. отпадает
Всем спасибо
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2007.07.15;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.043 c