私は現在、SCSI コマンドをキャプチャし、各コマンドのパフォーマンスを測定するための下位フィルター ディスク ドライバーを作成しています。現在、私のドライバーは SCSI 要求をキャプチャし、それを次のドライバーに渡すことができます。ただし、完了ルーチンを登録しようとすると、次のステータスが表示されます: 0xc0000010(STATUS_INVALID_DEVICE_REQUEST)。
完了ルーチンのない作業コード:
WDF_REQUEST_SEND_OPTIONS_INIT(&options, WDF_REQUEST_SEND_OPTION_SEND_AND_FORGET);
WdfRequestSend(Request, Target, &options);
完了ルーチンで失敗したコード:
WdfRequestFormatRequestUsingCurrentType(Request);
WdfRequestSetCompletionRoutine(Request, CompletionRoutine, CompletionContext);
WdfRequestSend(Request, Target, WDF_NO_SEND_OPTIONS);
どんな助けでも大歓迎です。ありがとう。
ノート:
- WdfRequestSend() は失敗したルーチンです。
- 上部フィルター ディスク ドライバーの場合、完了ルーチンを含むコードが機能します。