Запись в файл, открытый с FILE_SHARE_READ

Тема в разделе "WASM.WIN32", создана пользователем _Juicy, 3 авг 2011.

  1. _Juicy

    _Juicy Active Member

    Публикаций:
    0
    Регистрация:
    12 авг 2003
    Сообщения:
    1.159
    Адрес:
    SPb
    Процесс открывает файл, судя по всему, банально с FILE_SHARE_READ, чтобы запретить другим процессам его изменение. Из самого процесса мне тоже не удается открыть файл на запись.
    Можно ли, не зная дескриптора открытого файла, получить доступ к его изменению?

    Да, GetLastError возвращает ERROR_SUCCESS, то есть 0, если пытаться открыть из процесса ворда. Интересно, что это значит?
     
  2. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    991
    перечислить в системе дескрипторы и найдя нужный сделать копию себе,или закрыть старый а открыть новый.
    еще есть прямой доступ к диску.
     
  3. _Juicy

    _Juicy Active Member

    Публикаций:
    0
    Регистрация:
    12 авг 2003
    Сообщения:
    1.159
    Адрес:
    SPb
    Доступ к диску это из пушки по воробьям в данном случае, а как перечисляются дескрипторы в системе?
    ZwQuerySystemInformation (SystemHandleInformation)?
     
  4. T800

    T800 Member

    Публикаций:
    0
    Регистрация:
    7 дек 2006
    Сообщения:
    293
    Адрес:
    Moscow
    Squash
    http://forum.sysinternals.com/howto-enumerate-handles_topic18892.html
     
  5. _Juicy

    _Juicy Active Member

    Публикаций:
    0
    Регистрация:
    12 авг 2003
    Сообщения:
    1.159
    Адрес:
    SPb
    Спасибо. Правда, у меня тут менее тяжеловесный воркэраунд нарисовался, но если авири его не пропустят, попробую перебирать хендлы.
     
  6. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    991
    Squash
    ZwQuerySystemInformation (SystemHandleInformation + SystemExtendedHandleInformation)