Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.02.2011, 10:13   #1
ufo1og
 
Регистрация: 20.11.2010
Сообщений: 8
По умолчанию Privileged instruction

Пишу win32 console application в VS 2010, но любая моя попытка прочитать\прописать в порт заканчивается этим:

Unhandled exception at 0x00411378 in PCI.exe: 0xC0000096: Privileged instruction.

Для примера данная ругань идёт на строчку
Код:
_outpd(0x0cf8,0x080ffff00);
Подскажите кто знает, как решить эту проблему?
ufo1og вне форума Ответить с цитированием
Старый 23.02.2011, 10:49   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

потому что вы не в досе чтоб в порты писать.
зачем вам порт?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 23.02.2011, 11:21   #3
ufo1og
 
Регистрация: 20.11.2010
Сообщений: 8
По умолчанию

Под другим компилятором всё нормально в порты писалось и из под винды, но он не подходит по некоторым причинам.
Порты нужны для поиска устройств PCI и считывания информации с них.
ufo1og вне форума Ответить с цитированием
Старый 23.02.2011, 12:30   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Под другим компилятором всё нормально в порты писалось и из под винды
агась, вроде Borland C++ 3.11?)
это под ДОС и работал он за счет эмуляции портов.(но не прямой доступ)

вам нужен драйвер режима ядра, там спокойно это выполните.

(хм а почему бы у самой винды не спросит инфу по PCI-устройствам, иль вам критично?)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 23.02.2011, 12:41   #5
ufo1og
 
Регистрация: 20.11.2010
Сообщений: 8
По умолчанию

Значит, у win32 приложения не поднять уровень привилегий для доступа к портам, или это всё же возможно?
С драйвером понятно, но нужна прога которая работала бы напрямую без него.
ufo1og вне форума Ответить с цитированием
Старый 26.03.2011, 13:14   #6
ufo1og
 
Регистрация: 20.11.2010
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
вам нужен драйвер режима ядра, там спокойно это выполните.
А где таковой достать не подскажите?=)
ufo1og вне форума Ответить с цитированием
Старый 26.03.2011, 13:50   #7
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

самому наваять, пример взять из DDK
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Illegal Instruction russian-stalker Общие вопросы C/C++ 2 04.11.2010 10:04
DLL. Project *.exe faulted with message: 'priveleg instruction at 0x...'. Proccess stopped. TwiX Общие вопросы Delphi 2 26.12.2009 14:34