Форум: "Прочее";
Текущий архив: 2008.11.16;
Скачать: [xml.tar.bz2];
ВнизГенерация собственного ControlCode - кода. Найти похожие ветки
← →
Riply © (2008-09-18 23:31) [0]Здравствуйте !
Встала задача вызова DeviceIoControl с собственным IoControlCode`ом.
Подскажите, пожалуйста, есть ли коды (например с таким-то битом) зарезервированные
для пользователя или как можно их сгенерировать, так чтобы
исключить совпадение с уже существующими ?
← →
Игорь Шевченко © (2008-09-18 23:33) [1]не понял, какая нафиг разница, совпадают или несовпадают ? DeviceIoControl вроде бродкастом не рассылается
← →
Riply © (2008-09-18 23:44) [2]> [1] Игорь Шевченко © (18.09.08 23:33)
> не понял, какая нафиг разница, совпадают или несовпадают ?
> DeviceIoControl вроде бродкастом не рассылается
Дело в том, что я то не знала, что "бродкастом не рассылается". Что нибудь авральное, например.
Соответственно не исключала возможности, что какая-то команда
может быть послана моему устройству и без моего ведома :)
← →
oxffff © (2008-09-18 23:50) [3]
> Riply © (18.09.08 23:44) [2]
Если не изменяет память, то DeviceIoControl отображается на IRP IRP_MJ_DEVICE_CONTROL.
← →
oxffff © (2008-09-18 23:53) [4]Точно не изменяет,
http://msdn.microsoft.com/en-us/library/ms795857.aspx
Так что обрабатываешь своим драйвером IRP пакет с вышеуказанным кодом и будет всем счастье.
Хорошие книги
Соломон, Руссинович
Свен Шрайбер
Солдатов
Ну DDK естественно. Книги у меня в бумажном виде есть. Могу дать.
← →
Игорь Шевченко © (2008-09-19 00:25) [5]
> Соответственно не исключала возможности, что какая-то команда
> может быть послана моему устройству и без моего ведома :
> )
Непременно может, только не DeviceIoControl. Оно, устройство, само определяет, кстати, на какие команды ему, устройству, реагировать. Ну и оповещает об этом.
Их, собственно, командов, не так уж и много:
IRP_MJ_CREATE
IRP_MJ_CREATE_NAMED_PIPE
IRP_MJ_CLOSE -
IRP_MJ_READ
IRP_MJ_WRITE
IRP_MJ_QUERY_INFORMATION
IRP_MJ_SET_INFORMATION
IRP_MJ_QUERY_EA
IRP_MJ_SET_EA
IRP_MJ_FLUSH_BUFFERS
IRP_MJ_QUERY_VOLUME_INFORMATION
IRP_MJ_SET_VOLUME_INFORMATION
IRP_MJ_DIRECTORY_CONTROL
IRP_MJ_FILE_SYSTEM_CONTROL
IRP_MJ_DEVICE_CONTROL
IRP_MJ_INTERNAL_DEVICE_CONTROL
IRP_MJ_SHUTDOWN
IRP_MJ_LOCK_CONTROL
IRP_MJ_CLEANUP
IRP_MJ_CREATE_MAILSLOT
IRP_MJ_QUERY_SECURITY
IRP_MJ_SET_SECURITY
IRP_MJ_POWER
IRP_MJ_SYSTEM_CONTROL
IRP_MJ_DEVICE_CHANGE
IRP_MJ_QUERY_QUOTA
IRP_MJ_SET_QUOTA
IRP_MJ_PNP
← →
Riply © (2008-09-19 00:35) [6]> [4] oxffff © (18.09.08 23:53)
> Книги у меня в бумажном виде есть. Могу дать.
Есть они у меня :) Но, все равно спасибо.
> http://msdn.microsoft.com/en-us/library/ms795857.aspx
Перешла с этого адреса на http://msdn.microsoft.com/en-us/library/ms795909.aspx
Там есть табличка.
Вроде 13 бит оставлен разработчикам. Я правильно поняла ?
> [5] Игорь Шевченко © (19.09.08 00:25)
> Непременно может, только не DeviceIoControl.
> Оно, устройство, само определяет, кстати, на какие команды ему, устройству, реагировать.
> Ну и оповещает об этом.
Вот я и боялась спутать команды и попробовать обработать системную как свою собственную :)
> Их, собственно, командов, не так уж и много:
Согласна. Но с "контрольным битом" как у NTSTATUS было бы гораздо проще, удобнее и надежнее :)
← →
VirEx © (2008-09-19 06:24) [7]
> [5] Игорь Шевченко © (19.09.08 00:25)
> Оно, устройство,
> само определяет, кстати, на какие команды ему, устройству,
> реагировать.
не устройство а драйвер
← →
Городской Шаман (2008-09-19 06:35) [8]Солдатов есть и в электронке, но все таки рекомендую купить
http://c2p.ru/cpp/v-soldatov-programmirovanie-drajverov-windows.html
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2008.11.16;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.005 c