Итак, есть 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. ЧЯДНТ?