| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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 даже в отдельном потоке тормозит с маской на пришедший символ |