DeviceIoControl,METHOD_BUFFERED и данные по поинтеру Win32,
- From
- Ihor Osov'yak ()
- To
- All ()
- Date
- 2003-04-21T20:17:26Z
- Area
- SU.WINDOWS.NT.PROG
From: "Ihor Osov'yak" <osi@osi.te.ua>
идущие вглубь драйвера.
То есть, в драйвер передаются не сами данные, а поинтер на них.
Драйвер потом успешно эти данные получает. Примерно по такой же схеме данные
возвращаются, только там не METHOD_BUFFERED, а METHOD_NEITHER.. Область
данных, на которые смотрят эти поинтера распределяются конечно в win32 и на
время выполнения DeviceIoControl живы и никуда не исчезают - DeviceIoControl
выполняется в синхронном режиме.
Я был убежден, что это чушь, пока сам не увидел работающего изделия по
такому принцыпу и его исходники.. Которые сам компилил :-).
Это дело проверялось под W2K.
То есть получается, что из kernel mode можно работать по поинтеру, который
передан из пользовательского режима?
Насколько така техника безопасна?
Зы - я в общем то заинтересован доказать, что так работать плохо...
Спасибо за внимание
--
Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
--- ifmail v.2.15dev5
* Origin: Talk.Mail.Ru (2:5020/400)