Thank you again for taking the time to look at my question.
In my driver, as read requests arrive, i add the request objects to a collection. As interrupts are processed, read requests are removed from the collection, data copied and request completed.
Now I have added the ability for a read request to be cancelled. At the time of adding the request to the collection, I mark it cancelable. When I remove a request from the collection, I unmark it. I have an EvtRequestCancel that will remove the specific request object from the collection - WdfCollectionRemove(...). I also use a spinlock when accessing the Collection.
Here is where I am stuck - WdfCollectionRemove has no OUT or return value. There is no way for me to know that the request was successfully removed so I can complete it as cancelled.
What is the right approach?
Thank you again!
It looks like you're new here. If you want to get involved, click one of these buttons!
|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 Mar 2020||OSR Seminar Space|
|Developing Minifilters||20 Apr 2020||LIVE ONLINE|
|Writing WDF Drivers||11 May 2020||LIVE ONLINE|
|Internals & Software Drivers||28 Sept 2020||Dulles, VA|