Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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
4-1200404732
Lamer666
2008-01-15 16:45
2008.11.16
FindWindowEx не находит кнопку в ОКНЕ


15-1221674501
Subzero
2008-09-17 22:01
2008.11.16
Intel® Threading Building Blocks


2-1223446963
edk2
2008-10-08 10:22
2008.11.16
paradox отловить последние даты


4-1200320969
nivea
2008-01-14 17:29
2008.11.16
Поиск в подключенном реестре


2-1223200633
AlexDan
2008-10-05 13:57
2008.11.16
RichEdit..





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский