Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: ZwCreateFile не создаёт файл ;(  (Прочитано 5937 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Xor
Гость
« : 02-05-2004 10:38 » 

Пишу первый раз драйвер (но не первый раз прогаю ;) ) и столкнулся с проблемой:
Код:

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?
Записан
Xor
Гость
« Ответ #1 : 10-05-2004 06:03 » new

Ошибка была в вызове функции:
...
NTSTATUS status = ZwCreateFile(
FileHandle,
...
нужно было передать указатель на Handle

...
NTSTATUS status = ZwCreateFile(
&FileHandle,
...
-------------------
Вот такой убогий "С"!
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines