Can anyone list the pros and cons of using below two approaches for IO cancellation in wdf? 1) mark request cancellable with WdfRequestMarkCancelable (). Provide a cancel routine and synchronize the completion path. 2) keep on polling with WdfRequestIsCanceled() while processing IRP. Complete based on the returned value.
I understand that WdfRequestIsCanceled() is a polling approach whereas WdfRequestMarkCancelable () is asynchronous. But is WdfRequestMarkCancelable() worth the extra effort needed for synchronizing completion/cancel path?
Thanks for your inputs.