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|
|Writing WDF Drivers||21 Oct 2019||OSR Seminar Space & ONLINE|
|Internals & Software Drivers||18 Nov 2019||Dulles, VA|
|Kernel Debugging||30 Mar 2020||OSR Seminar Space|
|Developing Minifilters||27 Apr 2020||OSR Seminar Space & ONLINE|