Доступ к заблокированному файлу

Тема в разделе "WASM.WIN32", создана пользователем SomeOne_TT, 8 июн 2005.

  1. SomeOne_TT

    SomeOne_TT New Member

    Публикаций:
    0
    Есть задача получить содержимое файла,залоченного другим приложением (например,таблица MSSQL Servera).



    Какие пути есть для решения этой задачи в Win98/WINNT ?



    Я думаю ,что это можно решить путем смены типа хэндла этого файла,открытого на эксклюзивный доступ другим приложением на SHARE_READ. Вопрос: как это может быть сделано?
     
  2. SomeOne_TT

    SomeOne_TT New Member

    Публикаций:
    0
    Еще способ придумался - читать файл непосредственно из фат/нтфс



    Интересно,будет ли это работать?
     
  3. Nothing

    Nothing New Member

    Публикаций:
    0
    Вопрос уже задавался.

    Поиск по форуму и перехват API рулят :)



    Читать сектора диска можно конечно, но кому же охота возится со структурой NTFS ради такого дела, файл-то может быть очень фрагментированный, да еще и сжатый?
     
  4. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Смотри эту ветку.



    Читать файл в обход системы — да, будет.
     
  5. SomeOne_TT

    SomeOne_TT New Member

    Публикаций:
    0
    Угу,спасибо. Очень полезная линка.

    Только как быть с Win95-98-Me ?
     
  6. Ms Rem

    Ms Rem New Member

    Публикаций:
    0
    В NT можно читать залоченные файлы с помощью BackUpRead, если есть BACKUP привилегии у пользователя. В 9x незнаю.
     
  7. SomeOne_TT

    SomeOne_TT New Member

    Публикаций:
    0
    BackupRead:

    hFile

    [in] Handle to the file or directory to be backed up. To obtain the handle, call the CreateFile function. The SACLs



    Как же оно может читать залоченные файлы,если уже CreateFile даст отлуп?
     
  8. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    а если CreateFile с FILE_FLAG_BACKUP_SEMANTICS или как там его?