базовый адрес LPT-порта (опять...)
От: Аноним  
Дата: 16.09.09 13:55
Оценка:
Нужно под виндой программно получить базовый адрес LPT-порта. LPT-порт расположен на STLab-овской PCI плате.
Пишу напрямую в порт в служебные регистры для специфического девайса, и, скорее всего, на машинах, где будет запускаться прога, тоже стоят платы расширения. Адреса, соответственно, какие угодно.

следующие варианты не прошли:

1. чтение из 0000:0408 — винда запрещает
2. DeviceIoControl(hLPT, IOCTL_PAR_SET_WRITE_ADDRESS, .......) — возвращает true, однако в буфере 0
3. ntport возвращает не то, что есть на самом деле (а некие стандартные адреса, типа 378h). Работает корректно только на мат. платах со встроенным LPT-портом (т.е. меняешь адрес в системе, и ntport это дело унюхивает)

API-шную функцию не нашел (может, плохо искал)
giveio работает как-то странно (может, интересно): после загрузки драйвера на выходах данных высокий уровень — смотрел светодиодом.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.