Проблемы с одновременным доступом к файлу.
2601
2
Итак, есть WDM-драйвер, который пишет данные в файл. Одновременно необходимо эти данные из этого же файла вычитывать. Но, как и следовало ожидать, возникают проблемы.

Драйвер писан с использованием SoftICE Driver Suite.
Там файл открывается так:

kfDataFile.OpenCreate(PUNICODE_STRING(strCurrentFileName), NULL,
FILE_WRITE_DATA | FILE_APPEND_DATA,
OBJ_CASE_INSENSITIVE, FILE_ATTRIBUTE_NORMAL,
FILE_SHARE_READ, FILE_OVERWRITE_IF, 0, NULL);

То есть открываем на запись/добавление, шаря при этом файл на чтение.

На пользовательском уровне открываем так:

CreateFile(FileName, GENERIC_READ, FILE_SHARE_READ,
NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);

То есть открываем на чтение, шаря на чтение же.

И, в итоге, имеем ошибку ERROR_SHARING_VIOLATION. ЧЯДНТ?
AnotherBoris
CreateFile(FileName, GENERIC_READ, FILE_SHARE_READ,
NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
Быть может - выделенное заменить на FILE_SHARE_WRITE, а то и вовсе на оба сразу два.
Но это в порядке общего предполжения
KSergey
Спасибо, добрый человек:улыб:Вроде проканало. Сам бы я ещё дня три мог бы тупить:улыб: