Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > Не работает DeviceIOControl :(


Автор: zalex 16.12.2005, 18:05
Привет всем! Хочу посмотреть статистику переданных-принятых байт.
Использую функцию

DeviceIOControl(h,a,addr(dw1),4,addr(dw2),4,dwret,nil)

где a = 1769612 (CTLCODE: IOCTL_Serial_Get_Stats). При работе с портом функуия не работает, т.е. пезультат равен false. Где копать?

Автор: chaos 19.12.2005, 09:18
а нафиг так извращаться?

все(читать писать в порт) можно сделать с помощью
CreateFile
CloseHandle
WriteFile
ReadFile
и
BuildCommDCB
BuildCommDCBAndTimeouts
ClearCommBreak
ClearCommError
CommConfigDialog
EscapeCommFunction
GetCommConfig
GetCommMask
GetCommModemStatus
GetCommProperties
GetCommState
GetCommTimeouts
GetDefaultCommConfig
PurgeComm
SetCommBreak
SetCommConfig
SetCommMask
SetCommState
SetCommTimeouts
SetDefaultCommConfig
SetupComm
TransmitCommChar
WaitCommEvent


читай раздел в МСДН Communication Functions

Автор: zalex 20.12.2005, 22:52
И какую функцию использовать, и как, если я хочу определить только факт приёма символа, не считывая его. Грубо говоря, у меня есть только HANDLE открытого порта, а читать писать в него взрослые запретили, только подслушивать. ИМХО в этом перечне такой функции нет, а WaitCommEvent даже в отдельном потоке тормозит с маской на пришедший символsmile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)