Пишу драйвер для работы с диском. Чтение/запись реализованы и работают.
Есть проблемы при записи в FAT на FAT-томах. Сама запись проходит нормально. Но изменения затираются FASTFAT драйвером, когда он что-нибудь пишет на том.
Вопрос: Как заставить FASTFAT драйвер обновить свои внутренние структуры/кеш?
Ps. Для открытия устройства используется ZwCreateFile с флажками 'FILE_READ_DATA|FILE_WRITE_DATA'.
Пробовал отправлять IRP_MJ_FLUSH_BUFFERS, вызывал CcFlushCache. Для записи вызывал ZwWriteFile, а также вручную посылал IRP_MJ_WRITE.
Pps. Если систему перегрузить до того, как FASTFAT что-нибудь запишет, то после перезагрузки FASTFAT признаёт изменения и не затирает их.