Прямая запись на диск

Тема в разделе "WASM.WIN32", создана пользователем Velheart, 22 июн 2009.

  1. Velheart

    Velheart New Member

    Публикаций:
    0
    Регистрация:
    2 июн 2008
    Сообщения:
    526
    Всем привет. Пишу на диск в файл, открыв диск для прямого доступа. Все бы окей, только изменения появляются только после перезагрузки. Как-то странно вообще получается -- после записи до перезагрузки изменений не видно, а после перезагрузки даже тупо ресетом -- все появляется. Можно ли как-нибудь это обойти? Может ли быть дело в том, что я запускаю код на виртуалке(на живой машине пока боюсь, т.к. код не доведен до ума полностью, а тереть винт не хочется =) ) ?

    зы FlushFileBuffers не помогает.
     
  2. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Кеш файловой системы.. размонтируй и заново смонтируй том (с системным не прокатит)
     
  3. Velheart

    Velheart New Member

    Публикаций:
    0
    Регистрация:
    2 июн 2008
    Сообщения:
    526
    Great
    Сенкс, видимо придется смириться с этой штукой, т.к. диск нужен только и исключительно системный)
     
  4. HCode

    HCode New Member

    Публикаций:
    0
    Регистрация:
    21 янв 2006
    Сообщения:
    72
    Под Вистой не будет работать вообще.
     
  5. Velheart

    Velheart New Member

    Публикаций:
    0
    Регистрация:
    2 июн 2008
    Сообщения:
    526
    HCode
    А в чем фишка под Вистой? Вроде бы читает нормально, и на запись дает открыть..
     
  6. HCode

    HCode New Member

    Публикаций:
    0
    Регистрация:
    21 янв 2006
    Сообщения:
    72
    Velheart
    Записать попробуй. :)
     
  7. Partner

    Partner Павел

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    917
    Адрес:
    Los Angeles
    Нужно открывать с флагом FILE_FLAG_WRITE_THROUGH. Будет писаться мимо всяких кешей прямо на диск.
     
  8. Partner

    Partner Павел

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    917
    Адрес:
    Los Angeles
    А под вистой можно писать только в нулевую дорожку и в неразмеченные области.
     
  9. Velheart

    Velheart New Member

    Публикаций:
    0
    Регистрация:
    2 июн 2008
    Сообщения:
    526
    Partner
    Жаль, я думал дефрагментаторы что-нибудь подобное делают..
     
  10. Partner

    Partner Павел

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    917
    Адрес:
    Los Angeles
    Velheart
    Дефрагментаторы обычно юзают официальный Defrag API.
    Если очень хочется, то можно размонтировать диск и тогда можно писать без проблем.
    Естественно, кроме системного диска.