Re[3]: дублирование хэндлов
От: x64 Россия  
Дата: 27.01.09 16:17
Оценка:
А>Это я вижу в Task Manager, создаётся два хэндла, а закрывается только один...
А>про известный мне хэндл я знаю его значение, object address, access. Про второй же я не имею информации.

Значит так, предположений сейчас можно массу сделать, и про файловые фильтры (и не только файловые), и про user-mode перехватчики какие-нибудь. Чтобы не гадать, делаем следующее:

1. Запускаем Process Explorer (скачать можно отсюда).
2. Запускаем нашу программу и производим в ней действия, чтобы получить второй хендл, описанные выше.
3. Выбираем в Process Explorer'е нужный процесс (наш процесс).
4. Меню View -> Show lower pane.
5. Меню View -> Lower pane view -> Handles.
6. В нижней панели копируем информацию обо всех хендлах и пишем сюда в ответ на это сообщение.
7. Меню View -> Lower pane view -> DLLs.
8. В нижней панели копируем информацию обо всех загруженных DLL и пишем сюда в ответ на это сообщение.

Вперёд, тогда можно будет что-нибудь более интересное сказать. Хотя в итоге я согласен с анонимным оратором — любой чужой код (возможно, содержащий ошибки), загруженный в твой процесс, контролировать невозможно и не нужно. Это проблема пользователя, пусть он решает, — стоит ли использовать такой код или нет (хотя, конечно, иногда трудно доказывать, что не верблюд, это да...).
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.