Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

heders from ddk

19K
30 октября 2009 года
Mhael
54 / / 20.03.2008
Появилась проблема. Да такая,что прям и не знаю что думать ((
VS2008. Создаю консольный пустой проект, пишу пустой main, #include <windows.h> #include <ntddscsi.h> ну и к ней #include <devioctl.h>. Указываю пути. Компилю. 102 ошибки, в основном типа syntax error на всякие скобки, запятые, есть ошибки других типов, но все именно по коду, а не линкера. Файлы на которые ругается — ctype.h, кажется stddef.h и еще пару подобных из crt в основном.
Я в задумчивости — в хедерах и в самом ддк я нигде не видал каких-то дополнительные пояснений. extern C пробовал .
Первая моя мысль, что может какой-то параметр компиляции или линкования надо задать, но какой.. не понятно.
Вторая мысль — в ддк есть свои хедеры crt, mfc, api и я видал какие-то библиотеки явно имеющие аналоги в винде и/или в sdk студии. Может надо использовать их? Но как? Для каждой ручками указать в проекте путь? А библиотеки? Есть ли способ сказать компилятору, чтобы он сначала искал в папках ддк, и только, если там нет искал в остальных? Указать пути ко всем папкам с хэдерами в ддк в проекте и инклудить их как "" ?
288
30 октября 2009 года
nikitozz
1.2K / / 09.03.2007
Цитата: Mhael
Файлы на которые ругается — ctype.h, кажется stddef.h и еще пару подобных из crt в основном.



Ругается - не может открыть или ошибки в этих файлах? Тексты ошибок (первых) в студию.

19K
30 октября 2009 года
Mhael
54 / / 20.03.2008
Про проверочный проект с пустым main у меня пока вопросы отпали - там я указал путь к c:\winddk\7600.16385.0\inc\api и к c:\WinDDK\7600.16385.0\inc\crt\ и все скомпилировалось. Однако этот метод пока не дает эффекта в полноценном приложении (библиотека), в котором то и надо использовать хэдеры из ддк. кроме вышеперечисленных я указываю еще и c:\winddk\7600.16385.0\inc\api\crt\stl70 , однако.. 880 errors типа :
Error 121 error C2059: syntax error : ')' c:\winddk\7600.16385.0\inc\api\crt\stl70\iosfwd 353 MyProg
Error 8 error C2061: syntax error : identifier '_Elem' c:\winddk\7600.16385.0\inc\api\crt\stl70\iosfwd 202 MyProg
Error 111 error C2065: '_Count' : undeclared identifier c:\winddk\7600.16385.0\inc\api\crt\stl70\iosfwd 337 MyProg
Error 689 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int c:\winddk\7600.16385.0\inc\api\crt\stl70\iosfwd 373 MyProg

Что-то тут наверное с конфликтом crt-ых хедеров из ддк и сдк ... Я в растерянности
288
30 октября 2009 года
nikitozz
1.2K / / 09.03.2007
Вообщем совет такой (могу лохануться :)): включите в настройках Show includes. Посмотрите, какие заголовки включаются из sdk. Найти соответствие им в ddk и добавьте этот путь.
19K
30 октября 2009 года
Mhael
54 / / 20.03.2008
Сделал. Вижу, что все инклудится из ддк. Но, что это мне даёт..? ((
288
30 октября 2009 года
nikitozz
1.2K / / 09.03.2007
Цитата: Mhael
Но, что это мне даёт..? ((



Видимо ничего. К сожалению нет под рукой нужной версии ddk. Можете заархивировать папку inc и выложить ее?

19K
30 октября 2009 года
Mhael
54 / / 20.03.2008
Бить меня некому :rolleyes:
У меня иклудился C:\WinDDK\7600.16385.0\inc\api\crt\stl70 , а как только поменял на stl60 , то все стало хорошо. Конечно может не все проблемы позади и что-то выплывет на стадии дебага и работы, но пока все скомпилилось.
Извиняюсь, что потратил попусту ваше время, в который раз уже меня подводит невнимательность :(
14
30 октября 2009 года
Phodopus
3.3K / / 19.06.2008
Зачем вам вообще DDK? Вы ж не драйвер пишете.
[COLOR="Gray"]O_o stl в DDK.. Дождались.. :) Надеюсь что в каком-нить KMDF только[/COLOR]
19K
30 октября 2009 года
Mhael
54 / / 20.03.2008
ddk мне для работы со скази. Через spti. А стл - просто махом пути на ддк перевел, потом конечно постараюсь оттуда только необходимый минимум инклудить, как разберусь в зависимостях.
14
30 октября 2009 года
Phodopus
3.3K / / 19.06.2008
Для SPTI клиентского приложения вам за глаза хватит Platform SDK в базе MSVC. Там это все есть, можно поиском пройтись. Там структур-то раз, два и обчелся - конкретные структуры SCSI все равно самому писать. Их в CDB и т.д. Да пара IOCTL кодов. Я бы не мешал заголовки DDK к компилятору MSVC. DDK немного вещь в себе - у нее и компилятор есть и либы и инклюды. Обычно если прикручивают DDK к студии так чтобы в студии синтаксис и интеллисенс был (используется только как редактор) - все остальное (компилятор, либы, инклуды) - заменяется DDK-шным. Ну и как бы там чистый C, а в студии по умолчанию Цпп...
19K
30 октября 2009 года
Mhael
54 / / 20.03.2008
Можно по подробнее? А то я бы с удовольствием не использовал бы ддк.
Ntddscsi.h требуется для IOCTL_SCSI_PASS_THROUGH_DIRECT и этот хедер есть в ddk, а в sdk нет. Он тянет за собой еще хедеры, например guiddef.h, devioctl.h, sdkddkver.h (их тоже нет в сдк) и они вполне возможно тянут еще какие-то из ддк. Ну и библиотеки же еще небось какие-то нужны и они из ддк только..

конечно я могу написать сам структуру SCSI_PASS_THROUGH_DIRECT и значение IOCTL_SCSI_PASS_THROUGH_DIRECT , но сработает ли это..? надо попробовать..
14
30 октября 2009 года
Phodopus
3.3K / / 19.06.2008
У меня в 2005 тут
%PROGRAMFILES%\Microsoft Visual Studio 8\VC\PlatformSDK\Include\ntddscsi.h
оно есть. И в нем есть директ. В конце-концов это просто число :)
ПыСы. Мыслите в верном направлении. Сработает. Но работает и так.
Вы небось
 
Код:
#include <windows.h>
#include <winioctl.h>

в stdafx перед ntdd.. забыли
19K
30 октября 2009 года
Mhael
54 / / 20.03.2008
Увы у меня ntddscsi нет в студии. Вижуалка 2008, вроде не урезанная ((
Ладно, я написал структуру и значения сам и все заработало :) В смысле все скомпилировалось, как оно будет дальше - посмотрим ..
Вы не в курсе, что с 2008 стало с ntddscsi ? :)
14
30 октября 2009 года
Phodopus
3.3K / / 19.06.2008
Тогда скачайте к ней PlatformSDK - должон появиться. Что в 2008й не знаю, странно, должен быть. Надо будет проверить.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог