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

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

  1. SomeOne_TT

    SomeOne_TT New Member

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



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



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

    SomeOne_TT New Member

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



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

    Nothing New Member

    Публикаций:
    0
    Регистрация:
    4 авг 2003
    Сообщения:
    139
    Адрес:
    Russia
    Вопрос уже задавался.

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



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

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Смотри эту ветку.



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

    SomeOne_TT New Member

    Публикаций:
    0
    Регистрация:
    11 фев 2005
    Сообщения:
    39
    Угу,спасибо. Очень полезная линка.

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

    Ms Rem New Member

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

    SomeOne_TT New Member

    Публикаций:
    0
    Регистрация:
    11 фев 2005
    Сообщения:
    39
    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
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    а если CreateFile с FILE_FLAG_BACKUP_SEMANTICS или как там его?