· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.WIN32 —› отключение диска.

<< . 1 . 2 . 3 .

Посл.отвђт Сообщен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 не открыть. Как быть ?

<< . 1 . 2 . 3 .


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.058