Драйвер для прямой записи на диск - очистка кеша файловой си
От: vasalvit  
Дата: 09.04.09 14:16
Оценка:
Здравствуйте.

Пишу драйвер для работы с диском. Чтение/запись реализованы и работают.

Есть проблемы при записи в FAT на FAT-томах. Сама запись проходит нормально. Но изменения затираются FASTFAT драйвером, когда он что-нибудь пишет на том.

Вопрос: Как заставить FASTFAT драйвер обновить свои внутренние структуры/кеш?

Ps. Для открытия устройства используется ZwCreateFile с флажками 'FILE_READ_DATA|FILE_WRITE_DATA'.
Пробовал отправлять IRP_MJ_FLUSH_BUFFERS, вызывал CcFlushCache. Для записи вызывал ZwWriteFile, а также вручную посылал IRP_MJ_WRITE.

Pps. Если систему перегрузить до того, как FASTFAT что-нибудь запишет, то после перезагрузки FASTFAT признаёт изменения и не затирает их.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.