Re[10]: Компиляция драйвера
От: Fredwriter  
Дата: 27.10.11 11:31
Оценка:
Здравствуйте, okman, Вы писали:

O>Здравствуйте, Fredwriter.


F>>Тут немного, драйвер пробный из книги, там только функция GetMessage.


O>Скажи-ка, а эта "книга" — случайно не "программирование драйверов для Windows" некой В.Комиссаровой ?

O>Если так, то можешь смело выбрасывать ее на помойку.
O>Это худшее (и вредное), что я читал по разработке драйверов.
Что вы мне посоветуете русского по разработке драйверов?
Re[10]: Компиляция драйвера
От: Fredwriter  
Дата: 27.10.11 11:32
Оценка:
Здравствуйте, okman, Вы писали:

O>Здравствуйте, Fredwriter.


F>>Тут немного, драйвер пробный из книги, там только функция GetMessage.


O>Скажи-ка, а эта "книга" — случайно не "программирование драйверов для Windows" некой В.Комиссаровой ?

O>Если так, то можешь смело выбрасывать ее на помойку.
O>Это худшее (и вредное), что я читал по разработке драйверов.
Вы угадали это действительно В.Комиссарова
Re[11]: Компиляция драйвера
От: okman Беларусь https://searchinform.ru/
Дата: 27.10.11 11:35
Оценка: 2 (1)
Здравствуйте, Fredwriter, Вы писали:

F>Что вы мне посоветуете русского по разработке драйверов?


IMHO лучшая книга данной отрасли — "Программирование с использованием Windows Driver Model" (Уолтер Они).
Есть на русском языке. Очень толковая книга из серии подподушечной (в смысле, должна лежать под подушкой).
Еще можно (для разнообразия) почитать книгу Солдатова, хотя там почти ничего нет про обработку IRP (!).
Из полезных — "Windows 200 Device Driver Book, A Guide For Programmers" и туториалы CmdTutRu.
Все это легко найти в Гугле.
Много полезных материалов есть на MSDN и WHDC, а также на OsrOnline (там надо будет зарегистрироваться).

Теперь о компиляции.
Когда что-то не идет, нужно смотреть файлы .wrn и .err в папке проекта.
У меня написало "Cannot open include file: MyDriverMessages.h".
Re[12]: Компиляция драйвера
От: Fredwriter  
Дата: 27.10.11 11:41
Оценка:
Здравствуйте, okman, Вы писали:

O>Здравствуйте, Fredwriter, Вы писали:


F>>Что вы мне посоветуете русского по разработке драйверов?


O>IMHO лучшая книга данной отрасли — "Программирование с использованием Windows Driver Model" (Уолтер Они).

O>Есть на русском языке. Очень толковая книга из серии подподушечной (в смысле, должна лежать под подушкой).
O>Еще можно (для разнообразия) почитать книгу Солдатова, хотя там почти ничего нет про обработку IRP (!).
O>Из полезных — "Windows 200 Device Driver Book, A Guide For Programmers" и туториалы CmdTutRu.
O>Все это легко найти в Гугле.
O>Много полезных материалов есть на MSDN и WHDC, а также на OsrOnline (там надо будет зарегистрироваться).

O>Теперь о компиляции.

O>Когда что-то не идет, нужно смотреть файлы .wrn и .err в папке проекта.
O>У меня написало "Cannot open include file: MyDriverMessages.h".
Файл MyDriverMessages.h это файл, созданный утилитой mc из файла MyDriverMessages.mc. Вот текст файла MeDriverMessages.mc:
[g]
MessageID = 1
Severity = Informational
SymbolicName = MSG_DRIVER_ENTRY
Language = English
Driver Entry
.
MessageID = 2
Severity = Informational
SymbolicName = MSG_CREATE
Language = English
Create
.
MessageID = 3
Severity = Informational
SymbolicName = MSG_READ
Language = English
Read
.
MessageID = 4
Severity = Informational
SymbolicName = MSG_WRITE
Language = English
Write
.
MessageID = 5
Severity = Informational
SymbolicName = MSG_SHUTDOWN
Language = English
Shutdown
.
MessageID = 6
Severity = Informational
SymbolicName = MSG_IOCTL
Language = English
IoCtl
.
MessageID = 7
Severity = Informational
SymbolicName = MSG_DRIVERUNLOAD
Language = English
Unload
.
[/g]
Re[12]: Компиляция драйвера
От: Fredwriter  
Дата: 27.10.11 11:43
Оценка:
А за литературу спасибо большое.
Re[12]: Компиляция драйвера
От: Fredwriter  
Дата: 27.10.11 13:46
Оценка:
Здравствуйте, okman,
Компилятор Си выдаёт ошибку assignment from incompatible pointer type в этой строчке и ниже до 57 строчки в функции DriverEntry:

DriverObject->MajorFunction[IRP_MJ_CREATE] = CreateMyDriver;

Подскажите пожалуйста, что это значит? Некоторые другие ошибки я уже исправил.
Re[12]: Компиляция драйвера
От: Fredwriter  
Дата: 27.10.11 15:07
Оценка:
Здравствуйте, okman,
расскажите мне пожалуйста о структуре PDRIVER_OBJECT, непонятная какая-то ошибка в строках:

         DriverObject->MajorFunction[IRP_MJ_CREATE] = CreateMyDriver;
         DriverObject->MajorFunction[IRP_MJ_READ] = ReadMyDriver;
         DriverObject->MajorFunction[IRP_MJ_WRITE] = WriteMyDriver;
         DriverObject->MajorFunction[IRP_MJ_SHUTDOWN] = ShutdownMyDriver;
         DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL] = IoCtlMyDriver;
         DriverObject->DriverUnload = MyDriverUnload;

assignment from incompatible pointer type, я уже о ней спрашивал. Вроде не должно быть здесь такой ошибки
Re[13]: Компиляция драйвера
От: okman Беларусь https://searchinform.ru/
Дата: 27.10.11 16:32
Оценка:
Здравствуйте, Fredwriter.

К сожалению, не могу отвечать на все Ваши сообщения (после определенной черты это даже вредно).
Ответы на многие, если не все, вопросы есть в документации WDK, а также в синтаксисе языка C,
который, видимо, у Вас где-то нарушается. Если трудности возникают на стадии компиляции программы,
написанной на C, то лучше отложить драйверную разработку и освежить знания в этой области.
А вот с интересными и нетривиальными проблемами милости прошу.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.