Российский производитель и разработчик сертифицированного измерительного оборудования с 1987 года


Вопросы по WindowsNT DDK

Вы не вошли.

 Поиск | Регистрация | Вход 

Victor
12.05.2000 00:23:53
#1

Гость

Вопросы по WindowsNT DDK

Подскажите, пожалуйста, как обрабатывать исключительные ситуации в драйвере ядра WinNT4.
Драйвер принимает данные от платы L1250.
Обработка нужна в потоке, создаваемом при обработке IOCTL-запросов (Вероятно он работает на IRQL==DISPATCH_LEVEL).

В документации по NTDDK, функция MmProbeAndLockPages сказано (я не знаток английского):
If this routine fails, an exception is raised. 
Any driver that calls MmProbeAndLockPages must handle such an exception.

То, что я знаю об обработке исключтельных ситуаций в C++ не помогло:
при определенных обстоятельствах (наверное нехватка свободной nonpaged-памяти) выходит "синий экран".

17.05.2000 09:13:42
#2

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: Вопросы по WindowsNT DDK

   __try
   {
      MmProbeAndLockPages(m_pMdl, mode, Operation);
      return STATUS_SUCCESS;
   }
   __except (EXCEPTION_EXECUTE_HANDLER)
   {
      return STATUS_UNSUCCESSFUL;
   }

так это выглядит в Numega DriverWorks

как это выглядит в чистом DDK
          try {
         MmProbeAndLockPages(pIrp->MdlAddress,
                   KernelMode,
                   IoWriteAccess);

          } except(EXCEPTION_EXECUTE_HANDLER) {

Виктор
17.05.2000 20:02:50
#3

Гость

Re: Вопросы по WindowsNT DDK

Спасибо,буду пробовать.

Виталий
07.05.2001 17:29:04
#4

Гость

Re: Вопросы по WindowsNT DDK

Подскажите, пожалуйста, как можно выставить системное время в драйвере для WinNT. (По приходу прерывания необходимо выставить системные часы в определенное значение).
Буду очень благодарен.

Виктор
20.05.2001 11:09:52
#5

Гость

Re: Вопросы по WindowsNT DDK

Сам хотел сделать это, но не нашел как.
Поэтому в драйвере запоминал разницу времен, передавал ее Win32-программе и она сама изменяла время.

Дмитрий
20.09.2001 14:44:47
#6

Гость

Re: Вопросы по WindowsNT DDK

Не подскажете ли можно с помощью DDK написать драйвер, подставляющий в IP пакет ложный обратный ip адрес

VUl
19.11.2001 13:32:07
#7

Гость

Re: Вопросы по WindowsNT DDK

Кто знает, как Windows 98/2000 определяет кол-во последовательно занимаемых портов или размер блоков памяти, используемых PCI устройством?

Например для L780 DeviceManager рапортует:
Memory range: FEAFAC00-FEAFAC7F (длина 80h)
I/0 range: DC00-DC7F (длина 80h)
I/O range: DFA0-DFAF (длина 10h)
....

Я знаю, что из конфигурационных регистров PCI можно вытащить только начальные адреса портов и адресов памяти, которые, для NTDDK, хранятся в структуре PCI_COMMON_CONFIG
а откуда самостоятельно можно взять размеры занимаемых платой областей?

S. Chursin
18.01.2002 00:29:23
#8

Гость

Re: Вопросы по WindowsNT DDK

Izvinite za lamerskii vopros ...
Posle nevernogo opredelenija PCI Plug&Play ustroistv pojvlajutsa, kak izvestno, nerabotujshie zapisi o draiverah v
Control Panel->System.
Kak programno ubrat eti zapisi o nevernih P&P
ustroistvah ?
Ili gde mozno pochitat ob etom na russkom ?
S uvazeniem, S. Chursin

Anton
17.12.2006 20:04:10
#9

Гость

Re: Вопросы по WindowsNT DDK

Подскажите, пожалуйста начинающему драйв-мейкеру,
по каким ссылкам можно получить достаточный объём информации по этой теме, желательно русские ресурсы.
P.S.Compuware DriverStudio рулит smile