|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.08.2019, 19:11 | #1 |
Форумчанин
Регистрация: 26.03.2010
Сообщений: 538
|
Чтение и запись в драйвер через std::fstream
Приветствую!
В драйвере имеются обработчики IRP Код:
Код:
Однако, если использовать плюсовый класс std::fstream, то начинается непонятное. Код:
Почему фейлится открытие драйвера через std::fstream и как этого избежать (использовать WinAPI не предлагать)
Единственный способ стать умнее - играть с более умным противником.
|
11.08.2019, 04:12 | #2 |
Программист
Участник клуба
Регистрация: 23.06.2009
Сообщений: 1,772
|
Так посмотрите исходники std::fstream
|
11.08.2019, 15:34 | #3 |
Форумчанин
Регистрация: 26.03.2010
Сообщений: 538
|
Итак, глянул API-шпионом, какие функции вызываются и что возвращают.
Конструктор std::fstream а также метод open вызывают CreateFile, а затем GetFileType. Для своего драйвера, который не является драйвером устройства с предопределенным типом согласно рекомендации Microsoft выбрал FILE_DEVICE_TYPE в диапазоне от 32768 до 65535. Код:
Если же заменить FILE_DEVICE_TYPE на что-нибудь из списка ТынцЪ, например на FILE_DEVICE_NULL, то все работает. Вывод: плюсовые классы не дружественны для общения с драйверами.
Единственный способ стать умнее - играть с более умным противником.
|
11.08.2019, 17:16 | #4 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
|
11.08.2019, 17:20 | #5 |
Форумчанин
Регистрация: 26.03.2010
Сообщений: 538
|
Тут идея была, чтобы коллеги плюсовики-кроссплатформщики могли использовать свой любимый std::fstream. А так придется им пилить на WinAPI, который они почему-то недолюбливают.
Единственный способ стать умнее - играть с более умным противником.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Чтение и запись с файла через разделитель | Leks123 | PHP | 9 | 11.08.2013 16:35 |
Чтение/запись файла. fstream. | asmars | Общие вопросы C/C++ | 14 | 30.03.2012 19:49 |
Чтение и запись fstream | Armatus | Общие вопросы C/C++ | 15 | 07.10.2011 13:56 |
Чтение и запись данных в InterBase через Delphi | Harikolo | БД в Delphi | 7 | 29.09.2010 22:46 |
fstream, чтение и запись .txt | willfogg | Помощь студентам | 0 | 26.04.2009 18:26 |