Дублирование хендла CreateToolhelp32Snapshot

Тема в разделе "WASM.WIN32", создана пользователем _DEN_, 21 фев 2009.

  1. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    День добрый.

    На этот раз требуется отдупить хендл CreateToolhelp32Snapshot. Помогите кто чем может :)
     
  2. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Возвращает хэндл секции, NtDuplicateObject заюзой, только вот в ином процессе этот хэндл не получится использовать в тулхелп-апи, так как в этой секции низкоуровневая инфа(RawXX), указатели на приватную память, хип и пр., чтобы заюзоть полностью нужно самому переписать весь функционал тулхелп-апи, к томуже формат данных скорее всего меняется в версиях.
    Зачем тебе это нужно ?
     
  3. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    Clerk

    Ооо, прошу прощения, обычная DuplicateHandle работает нормально, это я ступил.


    Для клонирования итератора процессов :)
     
  4. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Моё имхо - просто глупо это делоть и незачем; по сути ты пытаешся скопировать псевдохэндл, а это локально в процессе. Заюзой системинфо и скопипасть себе в процесс все хэндлы, лучше чем по отдельности. Ведь секция не именована, аналогично как ты недавно копировал псевдохэндл от FindFirstFile(). Уровень натива и ниже ничего не знает про эти псевдохэндлы.
     
  5. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    Clerk

    Так ведь это дальше процесса не пойдет, даже дальше треда не пойдет. Зачем передавать между процессами или тредами итератор контейнера? :)
     
  6. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    В таком случае не понятно зачем копировать обьект, если все действия с ним локальны(в родительском процессе), причём учеличение числа ссылок на обьект влияет на некоторое его поведение, к примеру обьект не будет освобождён, пока имеются на него ссылки.
    Кстати мне не понятно что есть "итератор контейнера", впервые слышу это.
    http://ru.wikipedia.org/wiki/%D0%98%D1%82%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80
    А что есть контейнер ?
     
  7. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Clerk
    Не парься это из неинтересной тебе области.
     
  8. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    Booster

    Ну зачем же так :)


    Clerk

    Речь идет о C++ STL-подобном итераторе. Теперь перебор процессов у меня выглядит так:

    process_manager pm;

    Код (Text):
    1. for(process_manager::const_iterator it = pm.begin(); it != pm.end(); ++it)
    2. {
    3.     std::cout << it->name << std::endl;
    4. }
     
  9. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    _DEN_
    Ненавижу паскаль. Ну и причём тут хэндлы, ось и остальное ?
     
  10. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    Clerk

    Все ссылки - в надежных руках RAII :derisive:
     
  11. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    Clerk

    Это C++ :)
     
  12. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    _DEN_
    Бред какойто.. итераторы и остальная лабуда не улучшит код. Изучал бы лучше ось.)
     
  13. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Я сейчас кипятком описаюсь. ^)
     
  14. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    Таааааааак... Тихо, пока не началось :)))

    Всем спасибо, вопрос решен :) Возможно в ближайшее время надо будет еще какие-нибудь хендлы отдуп(л)ить :))