Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Вопрос начинающего  (Прочитано 7000 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Serg79
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« : 12-10-2006 06:29 » 

Прошу сразу извенить меня за дилетанский вопрос.

У меня такая непонятка.  Здесь была моя ладья...
Для того чтобы собрать драйвер нужно:
1. Visual C++
2. SDK
3. DDK
Что такое SDK (Platform SDK)? Я так понимаю, это комплект заголовочных файлов (*.h) и библиотек (*.lib) Win32 API. Если это так, то они уже есть в Visual C++ 6.0.

На Microsoft-ом сайте лежит Windows® Server 2003 R2 Platform SDK и там написанно что Visual C++ 6.0 не поддерживается:
Цитата
This SDK does not support working with Microsoft Visual C/C++®, 6.0 as support for VC 6.0 has ended. The last SDK that will work with VC 6.0 is the February 2003 Edition, you can order a CD on the fulfillment site. Side by side installations are not supported.
тогда как же быть.

Дело в том, что в моем колхозе Улыбаюсь сложновато найти Visual C++ (мне это не удалось). На Microsoft лежит VC++, но они предлагают его устанавливать через Inet, а это не то что мне нужно (совсем не то). Если кто знает где можно слить более свежую версию VC++, дайте ссылочку, пожалуйста. Мои поиски по поисковикам не дали вразумительного результата.
Записан
Артем
Опытный

nz
Offline Offline
Пол: Мужской
Beware the wolf in sheep's clothing.


« Ответ #1 : 12-10-2006 11:23 » 

ИМХО, для того что бы собрать драйвер нужно DDK и блокнот Улыбаюсь,
хотя может это зависит от того какой драйвер собирать


   Если кто знает где можно слить более свежую версию VC++, дайте ссылочку, пожалуйста. Мои поиски по поисковикам не дали   вразумительного результата.

мои тоже  Жаль.

Я подобный вопрос решил заказом диска и двух недельным ожиданием.
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #2 : 12-10-2006 11:42 » 

Serg79, поищи на форуме - уже было где-то и про SDK-DDK и про драйверы.
А без оригинальной версии никуда не денешься. Жаль
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Serg79
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 13-10-2006 06:00 » 

Поставил дома DDK и думал, что с наскока во всем разберусь. А не тут то было  Здесь была моя ладья... . Хоть и примеры исходников драйверов есть, а все равно как баран на новые ворота. Что к чему вообще непонятно: где точка входа в драйвер, через какие функции он общается с ОС, какие функции вызывается при прерываниях от устройств и т.д.  Быть такого не может

Короче пришел к выводу: без изучения прилогающей ДОКИ и прочтения соответствующей литературы, КПД всех моих действий равно НУЛЮ.

Я подобный вопрос решил заказом диска и двух недельным ожиданием.
Артем, если не секрет, где диски заказывал и какую версию VC++, а так же во сколько это тебе встало.
Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #4 : 15-10-2006 11:49 » 

точка входа
NTSTATUS    DriverEntry(    IN  PDRIVER_OBJECT  DriverObject,
             IN  PUNICODE_STRING RegistryPath)
общается через заполненные в ней указатели на функции
    DriverObject->DriverExtension->AddDevice = AddDevice;
    DriverObject->DriverUnload = DriverUnload;
и
    DriverObject->MajorFunction[IRP_MJ_POWER] = DispatchPower;
    DriverObject->MajorFunction[IRP_MJ_PNP] = DispatchPNP;
    DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL] = DispatchControl;
    DriverObject->MajorFunction[IRP_MJ_SYSTEM_CONTROL] = DispatchSystemControl;
    и т.д.
полистайте форум - наверняка были такие вопросы уже.
и без чтения документации - ничего не выйдет вообще)
рекомендую посмотреть генерилку рыбы на С (без ++!!!!), например от DriverStudio 3.2 от Numega. НО! этот проект больше не поддерживается!!!! (меня сейчас запинают за эту строчку). но лично мне при изучении очень помогла.
удачи)
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
Артем
Опытный

nz
Offline Offline
Пол: Мужской
Beware the wolf in sheep's clothing.


« Ответ #5 : 18-10-2006 12:42 » 

Serg79, см. ЛС
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines