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

Discussion in 'WASM.WIN32' started by SomeOne_TT, Jun 8, 2005.

  1. SomeOne_TT

    SomeOne_TT New Member

    Blog Posts:
    0
    Joined:
    Feb 11, 2005
    Messages:
    39
    Есть задача получить содержимое файла,залоченного другим приложением (например,таблица MSSQL Servera).



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



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

    SomeOne_TT New Member

    Blog Posts:
    0
    Joined:
    Feb 11, 2005
    Messages:
    39
    Еще способ придумался - читать файл непосредственно из фат/нтфс



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

    Nothing New Member

    Blog Posts:
    0
    Joined:
    Aug 4, 2003
    Messages:
    139
    Location:
    Russia
    Вопрос уже задавался.

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



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

    IceStudent Active Member

    Blog Posts:
    0
    Joined:
    Oct 2, 2003
    Messages:
    4,300
    Location:
    Ukraine
    Смотри эту ветку.



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

    SomeOne_TT New Member

    Blog Posts:
    0
    Joined:
    Feb 11, 2005
    Messages:
    39
    Угу,спасибо. Очень полезная линка.

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

    Ms Rem New Member

    Blog Posts:
    0
    Joined:
    Apr 17, 2005
    Messages:
    1,057
    Location:
    С планеты "Земля"
    В NT можно читать залоченные файлы с помощью BackUpRead, если есть BACKUP привилегии у пользователя. В 9x незнаю.
     
  7. SomeOne_TT

    SomeOne_TT New Member

    Blog Posts:
    0
    Joined:
    Feb 11, 2005
    Messages:
    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

    Blog Posts:
    0
    Joined:
    Oct 2, 2003
    Messages:
    4,300
    Location:
    Ukraine
    а если CreateFile с FILE_FLAG_BACKUP_SEMANTICS или как там его?