Serial Port Monitor can process all standard serial I/O Control requests (IOCTLs) and other major functions including IRP.

Both (IOCTLs and IRPs) can be filtered in Serial Port Monitor. Software that works with serial ports usually initiates/sends tons of different requests per second and the Serial Port Monitor logs can be easily overfilled if there is no filtering set. To setup data filtering, select the “Edit -> Filters” option from the main menu or click “Change filter” on the main toolbar. Filtering settings dialog will be invoked:


Preset – you can select the saved preset – the named set of filter settings, or create your own one. There are three predefined presets, Default preset, Empty preset and Full preset.

  • Default preset means filters chosen by default (all supported IOCTLs) 
  • Empty preset means all filters are not selected 
  • Full preset means all filters are selected 

Save As – Type the name in the Preset’s name field and press the “Save As” button to save the current set to the new preset.

Delete – Select the existing preset in the Preset’s name field and press “Delete” to delete it from the list. Note, that default presets cannot be deleted.

Filter ports – Apply filters to the specific serial port(s). Data will be shown only for the indicated COM port(s) (“Show only these” is enabled) or for all other ports (“Show all except these” is enabled).

IOCTLs/IRPs list – The list consists of four columns: UP, DOWN, Code and Description. Code column contains the symbolic request name, found in serial.h file from Windows DDK. Description column contains the short request description. UP and DOWN columns contain marks if the given request should be processed on the way down or up.

Usually it is worth processing the request on one way only, however it’s up to you to decide which filtering preset you may wish to install.

Please, don’t forget to Save the selected filter.