Open Source Serial Port Sniffer
Well, as far as i know, IoGetDeviceObjectPointer() can not be used for all devices, specially when those devices already 'being opened' by another application. But there is another way to do 'attach and detach device', by creating a filter driver for those devices, modify some registry(ies) and let the PnP Manager and/or I/O Manager do that for you. For the detail how to do this, you can see the the sample in WDK, unfortunately i forgot what sample for specific, but i think (if i'm not mistaken) sample about disk performance. Member 10398370 7-Jan-14 21:58 7-Jan-14 21:58 Hello,Good afternoon,I have a question need to ask you. In the filter driver development, when there is data in the data queue, using the event to notify the application.
Open Serial Port Monitor. Free open source application to monitor traffic over a serial port. Simply choose the connection parameters, connect, and see the data received on the chosen serial port.
If you select to create a new project, you will have to go through a step by step wizard where you can choose the style of document, the layout of the page and you then have to select the instruments that you want to use. Finale 2002 free download free. The program provides many guides, manual and quick-start videos, that will help beginners learn how to compose music and use the program.
Create an event in the application, It is passed to the driver via DeviceIoControl. While waiting for an event using threads in the application, there is a signal event, to fetch data.
Such a program structure, when the application is running, and the serial transceivers the data transceiver, PC happens blue screen. If the application and the serial are not both running, PC does not blue screen.what causes the problem? In your routine, the application uses the OVERLAPPED structure, does OVERLAPPED I / O in the filter driver is necessary? Thank you very much. Member 10398370 wrote:Hello,Good afternoon,I have a question need to ask you. In the filter driver development, when there is data in the data queue, using the event to notify the application. Create an event in the application, It is passed to the driver via DeviceIoControl.
While waiting for an event using threads in the application, there is a signal event, to fetch data. Such a program structure, when the application is running, and the serial transceivers the data transceiver, PC happens blue screen. If the application and the serial are not both running, PC does not blue screen.what causes the problem? Well, unfortunately I've never use that event mechanism, so I can tell you nothing. Member 10398370 wrote:In your routine, the application uses the OVERLAPPED structure, does OVERLAPPED I / O in the filter driver is necessary?
Actually it is just a trick. I was using OVERLAPPED structure, create asynchronous I/O, so I can make the handle of I/O request invalid from another thread by issuing CloseHandle() thus stopping 'the loop reader' (check out CDkPortClient::GetData(.) in file DkPortClient.cpp), without that 'the loop reader' will not stop and this will make application unstable or hung. Note that, this is the behavior of window application not DOS application. In DOS application I can make 'the loop reader' without create asynchronous operation, just create the loop in another thread then make handle invalid in the main thread, maybe this because NTVDM, which running below DOS application, might do some filtering mechanism before I/O operation reach the kernel. This behaviour is true, at least in the Windows XP with SP 2.