Здравствуйте, inko, Вы писали:
I>Кто-нибудь может подсказать, как можно использовать ddk-шные функции из обыкновенного windows console application в visual studio c++?
Вариант 1.
Скачиваем, распаковываем ddk. нужные заголовочные файлы и либ файлы копируем себе в каталог проекта и подключаем к проекту.
Вариант 2.
Берём описани нужных функций, через typedef описываем тип указатель на нужную функцию, объявляем указатель, указателю на функцию присваем значение , возвращаемое GetProcAddress.
МЮ>Вариант 1. МЮ>Скачиваем, распаковываем ddk. нужные заголовочные файлы и либ файлы копируем себе в каталог проекта и подключаем к проекту.
Забыл сказать, для избежаний конфликтов с windows.h , заголовки из ddk нужно поместить в namespace . Например
namespace NTDDK
{
#include <ntddk.h>
}
и соответственно вызываем функцию через namespace, например
NTDDK::ZwCreateFile(...);
"Практика — критерий истины" (c) Маркс
Re[2]: работа с ф-ями из ddk
От:
Аноним
Дата:
20.06.05 07:16
Оценка:
Здравствуйте, Малич Юрий, Вы писали:
МЮ>Вариант 1. МЮ>Скачиваем, распаковываем ddk. нужные заголовочные файлы и либ файлы копируем себе в каталог проекта и подключаем к проекту.
МЮ>Вариант 2. МЮ>Берём описани нужных функций, через typedef описываем тип указатель на нужную функцию, объявляем указатель, указателю на функцию присваем значение , возвращаемое GetProcAddress.
спасибо. Особенно за вариант 2, он не приходил мне в голову))
Вариант 1 конечно очевиден, а не возникнет проблем из-за того, что компилятся это все будет не родным ddk-шным build'ом?
Вообще, мне нужно воспользоваться тем, что умеет usbview, но я пока слабо представляю как его можно компилять vs-ным компилятором..
А>Вариант 1 конечно очевиден, а не возникнет проблем из-за того, что компилятся это все будет не родным ddk-шным build'ом?
Если тебе нужно получить просто приложение.exe, вызывающее ddk-функции, то всё будет скорее всего будет компилироватся работать. Если не будет компилироватся, то только потому что копоновщик может ругаться, что не найдена такая-то функция и придётся либо либо руками найти и подключить в опциях компоновщика нужный lib. Либо переходит к пункту 2.
А>Вообще, мне нужно воспользоваться тем, что умеет usbview, но я пока слабо представляю как его можно компилять vs-ным компилятором..
Я не знаю, что умеет usbview, поэтому сходу ответить не могу .
Здравствуйте, Малич Юрий, Вы писали:
МЮ>Здравствуйте, Аноним, Вы писали:
А>>Вариант 1 конечно очевиден, а не возникнет проблем из-за того, что компилятся это все будет не родным ddk-шным build'ом?
МЮ>Если тебе нужно получить просто приложение.exe, вызывающее ddk-функции, то всё будет скорее всего будет компилироватся работать. Если не будет компилироватся, то только потому что копоновщик может ругаться, что не найдена такая-то функция и придётся либо либо руками найти и подключить в опциях компоновщика нужный lib. Либо переходит к пункту 2.
ага, ясно.
А>>Вообще, мне нужно воспользоваться тем, что умеет usbview, но я пока слабо представляю как его можно компилять vs-ным компилятором..
МЮ>Я не знаю, что умеет usbview, поэтому сходу ответить не могу .
он умеет сканировать usb порты и определять, какие девайсы к ним подключены
вообще, когда я просто пытаюсь запихать все сорсы этого проекта в vs, у меня выскакивает ошибка в файле ресурсов:
C:\temp\usbview_vs\usbview.rc (79): error RC2104 : undefined keyword or key name: VER_PRODUCTVERSION_STR
Здравствуйте, inko, Вы писали:
I>вообще, когда я просто пытаюсь запихать все сорсы этого проекта в vs, у меня выскакивает ошибка в файле ресурсов: I> C:\temp\usbview_vs\usbview.rc (79): error RC2104 : undefined keyword or key name: VER_PRODUCTVERSION_STR
Определите в rc файле в string table любую строку с таким идентификатором, например "inko version 1.0" дай и всё .
Здравствуйте, Малич Юрий, Вы писали:
МЮ>Здравствуйте, inko, Вы писали:
I>>вообще, когда я просто пытаюсь запихать все сорсы этого проекта в vs, у меня выскакивает ошибка в файле ресурсов: I>> C:\temp\usbview_vs\usbview.rc (79): error RC2104 : undefined keyword or key name: VER_PRODUCTVERSION_STR
МЮ>Определите в rc файле в string table любую строку с таким идентификатором, например "inko version 1.0" дай и всё .
все равно не пашет
то есть этой ошибки конечно уже нет)) но есть 119 штук других, ну да ладно.. я в как этот usbview как nmake application подцепил, мне в принципе и так нормально. А не подскажете, как определить drive letter для usb-устройства (usb mass storage device)?