Главная страница
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.012 c
11-1195305295
Сидор
2007-11-17 16:14
2008.11.16
MsgOk: сделать модальным


15-1221554711
melehov
2008-09-16 12:45
2008.11.16
Самоцель:создать БД для себя и всеобщего пользования сотрудников


2-1223103815
Smel
2008-10-04 11:03
2008.11.16
beginthread


8-1187552645
leonidus
2007-08-19 23:44
2008.11.16
OCR & Delphi


2-1223549264
aslanbek
2008-10-09 14:47
2008.11.16
Счетчик для программы