Вниз
Скачать: CL | DM;

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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.014 c
2-1182148278
fishka
2007-06-18 10:31
2007.07.15
Чтение файлов с разными расширениями


3-1176552454
Чародей
2007-04-14 16:07
2007.07.15
Связи


11-1165212425
ebz
2006-12-04 09:07
2007.07.15
override in KOL


3-1176733324
tytus
2007-04-16 18:22
2007.07.15
Выполнение запросов Oracle в отдельном процессе.


15-1181234733
Sergius_P
2007-06-07 20:45
2007.07.15
Какой линукс выбрать?




   Наверх