![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
RtlCopyUnicodeString и IRQL
Riply © (2008-09-26 11:11:00)Здравствуйте !
В описании процедуры RtlCopyUnicodeString MSDN указывает следующее:
Requirements
IRQL: >= DISPATCH_LEVEL
Поясните, пожалуйста, что имеется ввиду ?
Неужели надо понимать буквально ?
(т.е. при IRQL < DISPATCH_LEVEL, с ней нельзя работать)
Городской Шаман (2008-09-28 06:37:00) [21]
> Игорь Шевченко © (27.09.08 21:42) [26]
>
> > Тоесть приводятся адекватные решения в режиме ядра того
> > что человек привык делать в пользовательском режиме. Так
> > что особо переучиваться даже не нужно будет
>
> В печке место такой книжке.
Видел я драйвера написанные только по DDK причем студентами. У Dlink все драйвера такие. Если установить девайсину от Dlink на компьютер, то как минимум раз в день синий экран гарантирован.
А в книжках автор делится опытом, как все таки правильно применять эти 1024 функции в режиме ядра чтобы не было потом горько и обидно пользователю этих драйверов.
Это тоже самое что Delphi учить по help-у, не прочитав ни одной книжки перед этим. Я так делал. Просмотрел свои программы, которые я писал в самом начале, понял что я похожее повторил в них все антипаттерны. Но они работают, хоть и с глюками.
Так что книга полезна тем что автор делится секретами когда использовать различные паттены, а когда точно нельзя использовать определенные паттерны.
Игорь Шевченко (2008-09-27 21:42:00) [22]Городской Шаман (27.09.08 21:23) [25]
> Там не готовые шаблоны драйверов, а готовые шаблоны различных
> решений для тех кто привык к работе в пользовательском режиме.
> Тоесть приводятся адекватные решения в режиме ядра того
> что человек привык делать в пользовательском режиме. Так
> что особо переучиваться даже не нужно будет
В печке место такой книжке.
Городской Шаман (2008-09-27 21:23:00) [23]
> Игорь Шевченко © (27.09.08 14:37) [24]
>
> Даже не смешно. Готовых решений там не видно днем с огнем.
Там не готовые шаблоны драйверов, а готовые шаблоны различных решений для тех кто привык к работе в пользовательском режиме. Тоесть приводятся адекватные решения в режиме ядра того что человек привык делать в пользовательском режиме. Так что особо переучиваться даже не нужно будет, ну и пару тонкостей запомнить.
Плохо что в режиме ядра нельзя ООП заюзать, свой менеджер памяти писать придётся, а это долго :(
Игорь Шевченко (2008-09-27 14:37:00) [24]Городской Шаман (27.09.08 02:42) [23]
> проще воспользоваться готовыми шаблонами решений того же
> Солдатова.
Даже не смешно. Готовых решений там не видно днем с огнем.
Городской Шаман (2008-09-27 02:42:00) [25]
> Игорь Шевченко © (26.09.08 23:42) [21]
>
> Для написания драйверов за глаза хватает документации DDK,
> никаких Солдатовых и Шрайберов не требуется
Хватает. Но когда нужно быстро разобраться в отличиях написания программ между пользовательским режимом и ядром и быстро написать рабочий драйвер (который будет работать в реальной системе) то проще воспользоваться готовыми шаблонами решений того же Солдатова.
Ну а потом можно уже подбирать свой стиль, внимательно читая DDK.
Это раньше люди годами занимались изучение чего-то сложного, а сейчас "встал и сделал" и "это должно было быть сделано вчера"...
Игорь Шевченко (2008-09-26 23:45:00) [26]
> Если у MS куча багов в ОС, то почему вы считаете что не
> может быть багов в документации.
Да потому что ее читают на несколько порядков больше народу и шлют свои фидбэки. Там на каждой странице есть ссылка: Send feedback to Microsoft - как думаешь, зачем придумана ?
И в том числе по этим фидбэкам в документацию вносятся исправления.
Игорь Шевченко (2008-09-26 23:42:00) [27]Городской Шаман (26.09.08 21:56) [20]
> MSDN писали индусы, а солдатов каждую свою строчку проверил
> на своём опыте.
Строчку "Hello, world" ? Так ее многие проверяли на своем опыте. Не доверяю я книгам русских авторов - это либо переводчики либо последователи Фленова и Архангельского.
Для написания драйверов за глаза хватает документации DDK, никаких Солдатовых и Шрайберов не требуется. Опять же, хорошие и проверенные массой народу драйверы с исходниками и картинками есть у Руссиновича.
Городской Шаман (2008-09-26 21:56:00) [28]
> Riply © (26.09.08 20:11) [18]
>
> > [16] Городской Шаман (26.09.08 19:37)
> > Если у MS куча багов в ОС, то почему вы считаете что не
> может быть багов в документации.
>
> Я так не считаю. Разумеется есть.
> "Не ошибается только тот, кто ничего не делает" (с) (К сожалению,
> не помню чья)
> Но если меня спросят: "Где вероятнее встретить ошибку ?
MSDN писали индусы, а солдатов каждую свою строчку проверил на своём опыте.
Хотя, если сравнивать Фленова и MSDN, то вы правы.
Городской Шаман (2008-09-26 21:54:00) [29]
> Rouse_ © (26.09.08 19:42) [17]
>
> Эммм... у меня по крайней мере на сейте всплывающих окон
> с порнухой нет :)
> http://rouse.drkb.ru/books.php#soldatov
У меня тоже нет, так как FireFox.
Riply (2008-09-26 20:11:00) [30]> [16] Городской Шаман (26.09.08 19:37)
> Если у MS куча багов в ОС, то почему вы считаете что не может быть багов в документации.
Я так не считаю. Разумеется есть.
"Не ошибается только тот, кто ничего не делает" (с) (К сожалению, не помню чья)
Но если меня спросят: "Где вероятнее встретить ошибку ?
У Солдатова(ничего против него не имею, просто как пример) или в MSDN ?",
то я думаю, ответ - очевиден :)
P.S.
"Солдатова" скачала. Спасибо.
Rouse_ (2008-09-26 19:42:00) [31]
> Все таки скачайте книгу Солдатова "Программирование драйверов
> Windows"
> http://www.cyberinfo.ru/index.php?newsid=671
Эммм... у меня по крайней мере на сейте всплывающих окон с порнухой нет :)
http://rouse.drkb.ru/books.php#soldatov
Городской Шаман (2008-09-26 19:37:00) [32]
> Riply © (26.09.08 11:11)
>
> Здравствуйте !
> В описании процедуры RtlCopyUnicodeString MSDN указывает
> следующее:
> Requirements
> IRQL: >= DISPATCH_LEVEL
Если у MS куча багов в ОС, то почему вы считаете что не может быть багов в документации.
Все таки скачайте книгу Солдатова "Программирование драйверов Windows"
http://www.cyberinfo.ru/index.php?newsid=671
Riply (2008-09-26 18:57:00) [33]> [11] Игорь Шевченко © (26.09.08 17:24)
> Вопрос из серии "Чем вредно для программы сообщение:
> Программа выполнила недопустимую операцию и будет закрыта" ?
> Да ничем не вредно, это информация.
Это просто здорово !
Ну... я себе это так представляла:
аварийно все закрывается, останавливается.
А всякие выключения/включеня для железа не очень полезны :)
Насчет системы, может она в этот момент что-то важное делала,
а я с ней вот так вот, по-свински :)
> [12] slow!alfamoon!com (26.09.08 17:35)
> BSOD это остановка работы системы при возникновении нештатной ситуации.
Об этом я догадывалась :)
> [13] Rouse_ © (26.09.08 17:36)
> Срочно покупать виртуалку :)
> Мне например решение от http://www.parallels.comнравиться.
Спасибо. Подумаю.
> но у меня на момент экспериментов сгорел ровно 1 комп и 4 USB разветвителя
Ну нельзя же так людей пугать :)
Rouse_ (2008-09-26 17:36:00) [34]
> У меня такой вопрос: а чем BSOD вреден для компьютера(в
> смысле железа) и для системы ?
0_о ты что на живой машине эксперементируешь? Фига-се...
Срочно покупать виртуалку :) Мне например решение от http://www.parallels.comнравиться. Да и стоит копейки 45 чтоли долларов...
А по поводу вредно-не вредно, в принципе как Игорь сказал, вредно быть не должно (я тоже так думал).
Воть...
так-то оно так, но у меня на момент экспериментов сгорел ровно 1 комп и 4 USB разветвителя (я собственно гдето год назад жаловался на форуме как раз) :)
Мошт комп был дохлый, мошт разветвители кривые, то что руки были кривые, это-то понятно, но мне больше эксперементировать не охота на чистом железе - тестирование только под ВМ :)
slow!alfamoon!com (2008-09-26 17:36:00) [35]Цвет экрана и шрифта при бсоде настраивается. Вроде на сисинтерналсах утиль видел.
slow!alfamoon!com (2008-09-26 17:35:00) [36]BSOD это остановка работы системы при возникновении нештатной ситуации.
Игорь Шевченко (2008-09-26 17:24:00) [37]
> а чем BSOD вреден для компьютера(в смысле железа)
ничем
> и для системы ?
перезапускать надо, а так не вреден.
Вопрос из серии "Чем вредно для программы сообщение: Программа выполнила недопустимую операцию и будет закрыта" ? Да ничем не вредно, это информация.
Riply (2008-09-26 16:45:00) [38]> [9] slow!alfamoon!com (26.09.08 16:36)
> Ты понимаешь что такое BSOD?
Судя по вопросу - нет. И вообще он у меня не синий а черный.
Даже нормальный BSOD и тот получить не могу :)
slow!alfamoon!com (2008-09-26 16:36:00) [39]Ты понимаешь что такое BSOD?
Riply (2008-09-26 16:20:00) [40]> [7] Игорь Шевченко © (26.09.08 15:10)
> Знакомься. Количество вопросов сократится, а количество синих сообщений возрастет.
> Driver Verifier нужен для того, чтобы получать синие сообщения.
У меня такой вопрос: а чем BSOD вреден для компьютера(в смысле железа) и для системы ?
Ведь, когда она бедненькая падает только из-за того,
что я, например, на автомате вызвала что-нибудь типа Move,
у меня сердце кровью обливается. Так ее жалко :)