Проверка указателя на объект

Тема в разделе "WASM.NT.KERNEL", создана пользователем chijo, 1 окт 2010.

  1. chijo

    chijo New Member

    Публикаций:
    0
    Регистрация:
    15 фев 2007
    Сообщения:
    15
    Есть набор указателей на registry key objects. То есть они накапливаются со временем. Как потом проверить их на то, что объекты еще существует?
    Заранее благодарен
     
  2. x64

    x64 New Member

    Публикаций:
    0
    Регистрация:
    29 июл 2008
    Сообщения:
    1.370
    Адрес:
    Россия
    Достаточно добавить ссылку через ObReferenceObject() и удалить её, когда объект уже не нужен. В промежутке между этими двумя действиями объект будет гарантировано доступен.
     
  3. chijo

    chijo New Member

    Публикаций:
    0
    Регистрация:
    15 фев 2007
    Сообщения:
    15
    Вопрос немножко не в том заключается.
    Я храню указатели на объекты, притом мне нужно в какой-то момент проверить, жив ли еще объект по указателю.
     
  4. x64

    x64 New Member

    Публикаций:
    0
    Регистрация:
    29 июл 2008
    Сообщения:
    1.370
    Адрес:
    Россия
    Ровно на этот вопрос я тебе и ответил. А вот если тебе нужно знать, не удалял ли кто ключ реестра в это время, то уже это совсем другой вопрос, и здесь тебе поможет только фильтрация активности реестра через CmRegisterCallback().
     
  5. Charlief

    Charlief New Member

    Публикаций:
    0
    Регистрация:
    17 авг 2010
    Сообщения:
    129
    Как у каждого объекта у registry key object наверное должен быть свой каталог OBJECT_DIRECTORY в котором он расположен ? Там можно и поискать. Тогда попарно с указателями на объекты нужно хранить и указатели на каталог. А если и каталог могут удалить тогда в дополнение хранить указатель на родительский каталог... и так далее хранить указатели вплоть до каталога который не может быть удалён.

    Сколько времени займёт обход каталогов и их содержимого (приемлемо или нет) это уже другой вопрос. Чтобы быстрее был поиск можно ещё и хеш от имени вычислять.
     
  6. x64

    x64 New Member

    Публикаций:
    0
    Регистрация:
    29 июл 2008
    Сообщения:
    1.370
    Адрес:
    Россия
    Нет такого и не может быть у реестровых объектов, так же, как нет их и у файлов. Почему - подумайте сами.