Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results
The free OSR Learning Library has more than 50 articles on a wide variety of topics about writing and debugging device drivers and Minifilters. From introductory level to advanced. All the articles have been recently reviewed and updated, and are written using the clear and definitive style you've come to expect from OSR over the years.
Check out The OSR Learning Library at: https://www.osr.com/osr-learning-library/
Upcoming OSR Seminars | ||
---|---|---|
OSR has suspended in-person seminars due to the Covid-19 outbreak. But, don't miss your training! Attend via the internet instead! | ||
Kernel Debugging | 30 January 2023 | Live, Online |
Developing Minifilters | 20 March 2023 | Live, Online |
Internals & Software Drivers | 17 April 2023 | Live, Online |
Writing WDF Drivers | 22 May 2023 | Live, Online |
Comments
--
Maxim S. Shatskih
Microsoft MVP on File System And Storage
[email protected]
http://www.storagecraft.com
<[email protected]> wrote in message news:[email protected]
> Hi!
>
>
> I am currently using IRP_MJ_DEVICE_CONTROL and DeviceIoControl to process IRPs and recently someone told me that he is using communication ports by calling FltCreateCommunicationPort , FltSendMessage etc.
>
> what are the differences between those methods?
> what are the pros and cons of each method?
> how does each method work?
>
> thanks!!
> sapgr.
>
>
>
what is the benefit of using communicating port instead of IRP_MJ_DEVICE_CONTROL ?
FltCreateCommunicationPort , FltSendMessage
</quote>
These are specific to file system filter drivers. If you're not writing a file system filter driver, they don't apply to you.
They're just wrappers around IOCTLs, that file system filters can use. If you're currently using IOCTLs, AND you're writing a file system filter driver (you should be posting to the NTFSD forum and) there's no real advantage to changing your implementation.
Peter
OSR
@OSRDrivers
Peter Viscarola
OSR
@OSRDrivers
:-)
> what do you mean when you are saying "inverted"?
When you use ioctls to allow a driver to send notifications to an
application, that's called "inverted call". It gets that name because
Windows (like most systems with multiple privilege levels) does not
allow ordinary calls from higher privilege (kernel) to lower privilege
(user). We use the ioctl mechanism to perform this inversion.
--
Tim Roberts, [email protected]
Providenza & Boekelheide, Inc.
Tim Roberts, [email protected]
Providenza & Boekelheide, Inc.
http://www.osronline.com/article.cfm?id=94.
Happy New Year everyone. And from what network filter driver function can we call FltCreateCommunicationPort. From DriverEntry or from FilterAttach
What does the first parameter of FltCreateCommunicationPort mean -
[in] Filter
An opaque filter pointer for the caller.
I tried to find it in the NDIS documentation but couldn't find it.
It's the handle you get back when registering as a File System Filter (which you are not).
This thread is ancient. Start a new one if you have further questions
-scott
OSR