|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Май 28, 2004 00:41:31 > Смогу ли я передать сервису какую нибудь свою команду ? разумеется. обычными средствами межпроцессорного взаимодействия |
|
|
Дата: Май 28, 2004 00:45:08 > да, вы можете вызвать все INT2E процедуры в Ring0. кхм?! int 2eh в ring 0?! это ж native api, а в ring 0 нужно напрямую юзать экспорт кернела. и сервисы не выполняются в нулевом кольце, это обычные процессы (типа демоны), не имеющие (точнее не предназначенные) для интерактивного взаимодействия с юзером и оптимизированные под фоновое выполнение. |
|
|
Дата: Май 28, 2004 09:35:23 kaspersky.. И Вы тоже можете вызвать все INT2E процедуры в Ring0. если Вы случайно не читали гденить, что не все R3 функции ехспортированы в R0, так вот и понадоблятся..(канешн, только для данной ОСи) |
|
|
Дата: Май 28, 2004 12:04:01 > И Вы тоже можете вызвать все INT2E процедуры в Ring0. вызывать-то их, конечно, можно. на ring0 вообще все можно. ядро само int 2eh местами вызывает, но вы много видели драйверов, которые этим злоупотребяют? на ring0 int 2eh обратывается совсем не так, как на ring3, и временами можно получить очень неожиданный результат ;) > если Вы случайно не читали гденить, что не все R3 > функции ехспортированы в R0, уточните, что вы имеете ввиду - то, что не все функции, доступные приложениям через шлюз можно вызваать в ядре или то, что некоторые шлюзовые функции не имеют экспорта? а теперь примеры таких функций, которые не экспоритруются ядром и которые позарез необходимы драйверу, особенно в контексте рассматриваемой задачи, когда всего-то и надо передать один IRP. > так вот и понадоблятся..( пример, пжласта. когда это действительно понадобляется. и тут же покажу как это сделать документированными возможностями. > канешн, только для данной ОСи ну почему? INT 2Eh он вообще-то не меняется каждый божий день и юзать его все-таки можно. только смысла в этом нет никакого. ну разве, что обратиться к win32k.sys, но... это для настоящих драйерных извращенцев... к тому же этот интерфейс недокументирован и даже между w2k и w2ksp3 в нем кое-что изменилось, хотя и незначительно... короче жду примеров позарез нужных, но не экспортируемых функций. USER/GDI руками не трогать. если бу нужно создадим поток в контексте нужного процесса и вытянем их с прикладного уровня. |
|
|
Дата: Июн 2, 2004 11:11:42 · Поправил: Maveric такая фигня получается... если отключать диск с помощью простого приложения то всё ок. Для того чтобы можно было отключать под любым юзером я написал сервис. Но он так долго это делает :( SCM даже возвращает ошибку "сервис не ответил в заданный промежуток времени". В итоге конечно всё ок, но очень долго по-сравнению с обычной прогой. и ещё интересно, что при использовании сервиса диск не исчезает в TotalCommander. Если TotalCommander перезапустить, то всё ок. Кто нибудь объясните что происходит. Кстати, под простым юзером SCM не открыть. Как быть ? |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.058 |