Re: DeviceIoControl,METHOD_BUFFERED и данные по поинтеру Win32,
- From
- Ihor Osov'yak ()
- To
- Ihor Osov'yak ()
- Date
- 2003-04-22T02:14:02Z
- Area
- SU.WINDOWS.NT.PROG
From: "Ihor Osov'yak" <osi@osi.te.ua>
В дополнение...
> Да, и привидите пожалуйста пример, когда " ситуации, когда это не будет
> выполняться.", тем более что "легко представить "
Я пока придумал только такую ситуацию, кода один процесс открывает
устройство, потом хендл этого устройства передает дочернному процессу, а тот
уже запускает соотв. IOCTL... В таком случае драйвер получит некоректные
данные при передачи данных к нему, а при возврате проста чего то пропишет по
адресам первого процесса. Ибо указатели будут инициализироваться в дочеренем
процессе, а чтение и запись реально будет осуществлятся в адресном
пространстве первого процесса..
Ну и если драйвер в таком случае не будет делать ProbeForWrite или
ProbeForRead c cоотв. структурной обработкой исключений, то есть возможность
завалить драйвер, а вместе сним и систему в случае вышеописаного финта в
прикладных программах... Верны ли мои рассуждения?
>
> --
> Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
--- ifmail v.2.15dev5
* Origin: Talk.Mail.Ru (2:5020/400)