About FilterConnectCommunicationPort

Guys, please explain me how work FilterConnectCommunicationPort() with CreateIoCompletionPort()? Why in samples using few threads and IoComplitionPort() for manage port handle? Can I use CreateIoCompletionPort() and several threads for manage DeviceIoControl() to my driver handle?

You need to know something about windows IO completion port. The ‘IO completion port’ can always be found in windows socket to improve IO performance. but it also can be used for other IOs(eg. File IO).
FilterConnectCommunicationPort work with CreateIoCompletionPort is not needed(I know the sample does that, but it is not required).

By default, IOCP does not improve any performance.

It is intended to allow the design with NumberOfThreads < NumberOfSockets, which is good for scalability on heavy load.

Surely IOCP can be used for any other async IO too, and in 99.9% of cases (unless something really very strange) the kmode driver does not know and does not care whether IOCP is used with it.


Maxim S. Shatskih
Microsoft MVP on File System And Storage
xxxxx@storagecraft.com
http://www.storagecraft.com

<xyz.sun.ok> wrote in message news:xxxxx@ntfsd…
> You need to know something about windows IO completion port. The ‘IO completion port’ can always be found in windows socket to improve IO performance. but it also can be used for other IOs(eg. File IO).
> FilterConnectCommunicationPort work with CreateIoCompletionPort is not needed(I know the sample does that, but it is not required).
></xyz.sun.ok>