Возвращает хэндл секции, NtDuplicateObject заюзой, только вот в ином процессе этот хэндл не получится использовать в тулхелп-апи, так как в этой секции низкоуровневая инфа(RawXX), указатели на приватную память, хип и пр., чтобы заюзоть полностью нужно самому переписать весь функционал тулхелп-апи, к томуже формат данных скорее всего меняется в версиях. Зачем тебе это нужно ?
Clerk Ооо, прошу прощения, обычная DuplicateHandle работает нормально, это я ступил. Для клонирования итератора процессов
Моё имхо - просто глупо это делоть и незачем; по сути ты пытаешся скопировать псевдохэндл, а это локально в процессе. Заюзой системинфо и скопипасть себе в процесс все хэндлы, лучше чем по отдельности. Ведь секция не именована, аналогично как ты недавно копировал псевдохэндл от FindFirstFile(). Уровень натива и ниже ничего не знает про эти псевдохэндлы.
Clerk Так ведь это дальше процесса не пойдет, даже дальше треда не пойдет. Зачем передавать между процессами или тредами итератор контейнера?
В таком случае не понятно зачем копировать обьект, если все действия с ним локальны(в родительском процессе), причём учеличение числа ссылок на обьект влияет на некоторое его поведение, к примеру обьект не будет освобождён, пока имеются на него ссылки. Кстати мне не понятно что есть "итератор контейнера", впервые слышу это. http://ru.wikipedia.org/wiki/%D0%98%D1%82%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80 А что есть контейнер ?
Booster Ну зачем же так Clerk Речь идет о C++ STL-подобном итераторе. Теперь перебор процессов у меня выглядит так: process_manager pm; Код (Text): for(process_manager::const_iterator it = pm.begin(); it != pm.end(); ++it) { std::cout << it->name << std::endl; }
Таааааааак... Тихо, пока не началось )) Всем спасибо, вопрос решен Возможно в ближайшее время надо будет еще какие-нибудь хендлы отдуп(л)ить )