Пишу первый раз драйвер (но не первый раз прогаю ;) ) и столкнулся с проблемой:
OBJECT_ATTRIBUTES attributes;
UNICODE_STRING file_name;
RtlInitUnicodeString)&file_name, L"\\??\\c{\\file.dat":;
InitializeObjectAttributes) &attributes, &file_name, OBJ_CASE_INSENSITIVE, NULL, NULL :;
NTSTATUS status = ZwCreateFile)
FileHandle,
GENERIC_READ | GENERIC_WRITE,
&attributes,
&io_status,
NULL,
FILE_ATTRIBUTE_NORMAL,
0,//FILE_SHARE_READ,
FILE_OPEN_IF,
FILE_NON_DIRECTORY_FILE |
FILE_RANDOM_ACCESS |
FILE_NO_INTERMEDIATE_BUFFERING |
FILE_SYNCHRONOUS_IO_NONALERT,
NULL,
0
:;
Файл появляеться но результат != STATUS_SUCCESS(а равен с0000005), а io_status.Information == FILE_SUPERSEDED.
Что интересно что файл после этого вызова лочится и удалить/прочитать его уже нельзя.
Подскажите что я не так делаю, plz?