
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.120] |
![]() |
|
Сообщ.
#1
,
|
|
|
Добрейшего времени суток!
Возникла необходимость научиться писать WDM/WDF-драйвера. Пока не могу нормально "стартануть" ![]() Захотелось использовать IDE VS2008, опять же в одной из статей нашел якобы работающие настройки: Цитата C\C++ - General - Debug Information Format = Program Database (/Zi) C\C++ - Preprocessor - Preprocessor Definitions = _X86_ [add also DBG for Debug config] C\C++ - Code Generation - Enable C++ Exceptions = No C\C++ - Code Generation - Basic Runtime Checks = Default C\C++ - Code Generation - Buffer Security Check = No (/GS-) C\C++ - Advanced - Calling Convention = __stdcall (/Gz) C\C++ - Advanced - Compile As = Compile as C Code (/TC) [if you are going to use plain C] Linker - General - Output File = $(OutDir)\$(ProjectName).sys Linker - General - Enable Incremental Linking = Default Linker - Input - Additional Dependencies = ntoskrnl.lib hal.lib $(NOINHERIT) [add needed libs here e.g. ntoskrnl.lib hal.lib] Linker - Input - Ignore All Default Libraries = Yes (/NODEFAULTLIB) Linker - Manifest File - Generate Manifest = No Linker - System - SubSystem = Native (/SUBSYSTEM:NATIVE) Linker - System - Driver = Driver (/DRIVER) Linker - Advanced - Entry Point = DriverEntry Linker - Advanced - Base Address = 0x10000 Linker - Advanced - Randomized Base Address = Disable (/DYNAMICBASE:NO) Linker - Advanced - Data Execution Prevention (DEP) = Disable (/NXCOMPAT:NO) Попробовал собрать простейший примерчик - ничче не вышло, полетели ошибки. Есть как дополнение - пакет VisualDDK, но это явные дополнительные плюшки, неужели без них никак. Итого вопрос: можно ли настроить среду VS2008 для сборки драйверов в IDE, а не из командной строки (если "да", то как)? |
![]() |
Сообщ.
#2
,
|
|
Цитата JoeUser @ можно ли настроить среду VS2008 для сборки драйверов в IDE Почему люди не читают FAQ? Как настроить Visual Studio для разработки драйверов |
Сообщ.
#3
,
|
|
|
Цитата B.V. @ Как настроить Visual Studio для разработки драйверов Спасибо, буду пробовать! Цитата B.V. @ Почему люди не читают FAQ? Глубокое исследование форума не могу себе позволить по времени. Смотрел линейно. 1) На форум запрыгнул прямо в "тематический" раздел": ![]() 2) В разделе обнаружил аж два FAQ, в которых нужного мне не было: ![]() Предложил бы ... или исправить второй линк на картинке выше на "правильный FAQ", либо в подразделах сделать тему-ссылку на FAQ всего раздела C++. Так было бы ИМХО, нагляднее. |
Сообщ.
#4
,
|
|
|
Ну и по существу ... сделал по FAQ, и при компиляции этого кода:
![]() ![]() #include <wdm.h> NTSTATUS DriverEntry(PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath) { // return STATUS_SUCCESS; } ... Получил вот это: Скрытый текст ![]() ![]() 1>------ Построение начато: проект: HelloDriver, Конфигурация: Release Win32 ------ 1>Компиляция... 1>HelloDriver.cpp 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\excpt.h(60) : error C2143: синтаксическая ошибка: отсутствие ")" перед "тип" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\excpt.h(60) : error C2085: _ExceptionRecord: отсутствует в списке формальных параметров 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\excpt.h(61) : error C2143: синтаксическая ошибка: отсутствие ";" перед "тип" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\excpt.h(61) : error C2085: _EstablisherFrame: отсутствует в списке формальных параметров 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\excpt.h(62) : error C2085: _Inout_: отсутствует в списке формальных параметров 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\excpt.h(62) : error C2143: синтаксическая ошибка: отсутствие ";" перед "тип" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\excpt.h(62) : error C2085: _ContextRecord: отсутствует в списке формальных параметров 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\excpt.h(63) : error C2085: _Inout_: отсутствует в списке формальных параметров 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\excpt.h(63) : error C2143: синтаксическая ошибка: отсутствие ";" перед "тип" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\excpt.h(64) : error C2059: синтаксическая ошибка: ) 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\excpt.h(64) : error C2085: _DispatcherContext: отсутствует в списке формальных параметров 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\excpt.h(110) : error C2082: переопределение формального параметра "_exception_code" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\excpt.h(111) : error C2082: переопределение формального параметра "_exception_info" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\excpt.h(112) : error C2082: переопределение формального параметра "_abnormal_termination" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(94) : error C2061: синтаксическая ошибка: идентификатор "_Check_return_" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(95) : error C2054: требуется "(" после "_Check_return_" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(95) : error C2143: синтаксическая ошибка: отсутствие ")" перед "тип" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(95) : error C2085: _isctype_l: отсутствует в списке формальных параметров 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(95) : error C2143: синтаксическая ошибка: отсутствие ";" перед "тип" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(95) : error C2085: _C: отсутствует в списке формальных параметров 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(95) : error C2085: _In_: отсутствует в списке формальных параметров 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(95) : error C2143: синтаксическая ошибка: отсутствие ";" перед "тип" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(95) : error C2085: _Type: отсутствует в списке формальных параметров 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(95) : error C2085: _In_opt_: отсутствует в списке формальных параметров 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(95) : error C2146: синтаксическая ошибка: отсутствие "," перед идентификатором "_locale_t" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(95) : error C2146: синтаксическая ошибка: отсутствие "," перед идентификатором "_Locale" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(95) : error C2059: синтаксическая ошибка: ) 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(96) : error C2061: синтаксическая ошибка: идентификатор "_Check_return_" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(97) : error C2086: int _Check_return_: переопределение 1> C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(95): см. объявление '_Check_return_' 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(97) : error C2054: требуется "(" после "_Check_return_" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(97) : error C2143: синтаксическая ошибка: отсутствие ")" перед "тип" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(97) : error C2085: _isalpha_l: отсутствует в списке формальных параметров 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(97) : error C2143: синтаксическая ошибка: отсутствие ";" перед "тип" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(97) : error C2085: _C: отсутствует в списке формальных параметров 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(97) : error C2085: _In_opt_: отсутствует в списке формальных параметров 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(97) : error C2146: синтаксическая ошибка: отсутствие "," перед идентификатором "_locale_t" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(97) : error C2146: синтаксическая ошибка: отсутствие "," перед идентификатором "_Locale" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(97) : error C2059: синтаксическая ошибка: ) 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(98) : error C2061: синтаксическая ошибка: идентификатор "_Check_return_" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(99) : error C2086: int _Check_return_: переопределение 1> C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(95): см. объявление '_Check_return_' 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(99) : error C2054: требуется "(" после "_Check_return_" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(99) : error C2143: синтаксическая ошибка: отсутствие ")" перед "тип" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(99) : error C2085: _isupper_l: отсутствует в списке формальных параметров 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(99) : error C2143: синтаксическая ошибка: отсутствие ";" перед "тип" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(99) : error C2085: _C: отсутствует в списке формальных параметров 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(99) : error C2085: _In_opt_: отсутствует в списке формальных параметров 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(99) : error C2146: синтаксическая ошибка: отсутствие "," перед идентификатором "_locale_t" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(99) : error C2146: синтаксическая ошибка: отсутствие "," перед идентификатором "_Locale" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(99) : error C2059: синтаксическая ошибка: ) 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(100) : error C2061: синтаксическая ошибка: идентификатор "_Check_return_" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(101) : error C2086: int _Check_return_: переопределение 1> C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(95): см. объявление '_Check_return_' 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(101) : error C2054: требуется "(" после "_Check_return_" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(101) : error C2143: синтаксическая ошибка: отсутствие ")" перед "тип" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(101) : error C2085: _islower_l: отсутствует в списке формальных параметров 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(101) : error C2143: синтаксическая ошибка: отсутствие ";" перед "тип" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(101) : error C2085: _C: отсутствует в списке формальных параметров 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(101) : error C2085: _In_opt_: отсутствует в списке формальных параметров 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(101) : error C2146: синтаксическая ошибка: отсутствие "," перед идентификатором "_locale_t" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(101) : error C2146: синтаксическая ошибка: отсутствие "," перед идентификатором "_Locale" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(101) : error C2059: синтаксическая ошибка: ) 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(102) : error C2061: синтаксическая ошибка: идентификатор "_Check_return_" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(103) : error C2086: int _Check_return_: переопределение 1> C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(95): см. объявление '_Check_return_' 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(103) : error C2054: требуется "(" после "_Check_return_" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(103) : error C2143: синтаксическая ошибка: отсутствие ")" перед "тип" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(103) : error C2085: _isdigit_l: отсутствует в списке формальных параметров 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(103) : error C2143: синтаксическая ошибка: отсутствие ";" перед "тип" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(103) : error C2085: _C: отсутствует в списке формальных параметров 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(103) : error C2085: _In_opt_: отсутствует в списке формальных параметров 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(103) : error C2146: синтаксическая ошибка: отсутствие "," перед идентификатором "_locale_t" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(103) : error C2146: синтаксическая ошибка: отсутствие "," перед идентификатором "_Locale" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(103) : error C2059: синтаксическая ошибка: ) 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(104) : error C2061: синтаксическая ошибка: идентификатор "_Check_return_" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(105) : error C2086: int _Check_return_: переопределение 1> C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(95): см. объявление '_Check_return_' 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(105) : error C2054: требуется "(" после "_Check_return_" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(105) : error C2143: синтаксическая ошибка: отсутствие ")" перед "тип" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(105) : error C2085: _isxdigit_l: отсутствует в списке формальных параметров 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(105) : error C2143: синтаксическая ошибка: отсутствие ";" перед "тип" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(105) : error C2085: _C: отсутствует в списке формальных параметров 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(105) : error C2085: _In_opt_: отсутствует в списке формальных параметров 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(105) : error C2146: синтаксическая ошибка: отсутствие "," перед идентификатором "_locale_t" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(105) : error C2146: синтаксическая ошибка: отсутствие "," перед идентификатором "_Locale" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(105) : error C2059: синтаксическая ошибка: ) 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(106) : error C2061: синтаксическая ошибка: идентификатор "_Check_return_" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(107) : error C2086: int _Check_return_: переопределение 1> C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(95): см. объявление '_Check_return_' 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(107) : error C2054: требуется "(" после "_Check_return_" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(107) : error C2143: синтаксическая ошибка: отсутствие ")" перед "тип" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(107) : error C2085: _isspace_l: отсутствует в списке формальных параметров 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(107) : error C2143: синтаксическая ошибка: отсутствие ";" перед "тип" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(107) : error C2085: _C: отсутствует в списке формальных параметров 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(107) : error C2085: _In_opt_: отсутствует в списке формальных параметров 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(107) : error C2146: синтаксическая ошибка: отсутствие "," перед идентификатором "_locale_t" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(107) : error C2146: синтаксическая ошибка: отсутствие "," перед идентификатором "_Locale" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(107) : error C2059: синтаксическая ошибка: ) 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(108) : error C2061: синтаксическая ошибка: идентификатор "_Check_return_" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(109) : error C2086: int _Check_return_: переопределение 1> C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(95): см. объявление '_Check_return_' 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(109) : error C2054: требуется "(" после "_Check_return_" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(109) : error C2143: синтаксическая ошибка: отсутствие ")" перед "тип" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(109) : error C2085: _ispunct_l: отсутствует в списке формальных параметров 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(109) : error C2143: синтаксическая ошибка: отсутствие ";" перед "тип" 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(109) : error C2085: _C: отсутствует в списке формальных параметров 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(109) : error C2085: _In_opt_: отсутствует в списке формальных параметров 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(109) : fatal error C1003: число ошибок превышает 100; остановка компиляции 1>Журнал построения был сохранен в "file://c:\Projests\HelloDriver\HelloDriver\Release\BuildLog.htm" 1>HelloDriver - ошибок 102, предупреждений 0 ========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ========== VS2008 + WDK 7600.16385.1 Где косяк может быть? |