Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.11.16;
Скачать: CL | DM;

Вниз

Генерация собственного 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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.015 c
2-1223020665
Int23
2008-10-03 11:57
2008.11.16
Сколько тиков в часе в Вин64


11-1195632501
dima27
2007-11-21 11:08
2008.11.16
KOL+WINCE+БД


11-1193383490
L`Autour
2007-10-26 11:24
2008.11.16
Программный скролинг KOLListView


15-1221345698
Per Pra
2008-09-14 02:41
2008.11.16
"Perfect Prattle" или "Идеальная потрепаловка - 2"


2-1223534143
Zalumhan
2008-10-09 10:35
2008.11.16
дату из DateTimePicker в переменную