EVT_WDF_USB_READERS_FAILED コールバック関数 (wdfusb.h)
[KMDF と UMDF に適用]
ドライバーの EvtUsbTargetPipeReadersFailed イベント コールバック関数は、読み取り要求の処理中に継続的リーダーがエラーを報告したことをドライバーに通知します。
構文
EVT_WDF_USB_READERS_FAILED EvtWdfUsbReadersFailed;
BOOLEAN EvtWdfUsbReadersFailed(
[in] WDFUSBPIPE Pipe,
[in] NTSTATUS Status,
[in] USBD_STATUS UsbdStatus
)
{...}
パラメーター
[in] Pipe
フレームワーク パイプ オブジェクトへのハンドル。
[in] Status
[in] UsbdStatus
パイプの I/O ターゲットから返された USBD_STATUS型指定された状態値。
戻り値
EvtUsbTargetPipeReadersFailed イベント コールバック関数はブール値を返します。TRUE 場合、フレームワークは USB パイプをリセットし、連続リーダーを再起動します。 この関数が FALSE 返した場合、フレームワークはデバイスをリセットしたり、継続的リーダーを再起動したりしません。
備考
EvtUsbTargetPipeReadersFailed コールバック関数を登録するには、ドライバーは関数のアドレスを WDF_USB_CONTINUOUS_READER_CONFIG 構造体に配置する必要があります。 この関数ポインターを追加するタイミングについては、WDF_USB_CONTINUOUS_READER_CONFIG_INITの「解説」セクションを参照してください。
ドライバーが USB パイプの連続リーダーを作成した場合、ドライバーの I/O ターゲットが読み取り要求の完了時にエラーを報告した場合、フレームワークはドライバーの EvtUsbTargetPipeReadersFailed コールバック関数を呼び出します。 (I/O ターゲットが要求を正常に完了した場合、フレームワークはドライバーの EvtUsbTargetPipeReadComplete コールバック関数を呼び出します)。
フレームワークは、ドライバーの EvtUsbTargetPipeReadersFailed コールバック関数を呼び出す前に、進行中のすべての読み取り要求を取り消そうとします。 フレームワークが EvtUsbTargetPipeReadersFailed コールバック関数を呼び出すとき、読み取り要求は進行中ではありません。 フレームワークは、EvtUsbTargetPipeReadersFailed コールバック関数が返されるまで、追加の読み取り要求をキューに入れません。
フレームワークが EvtUsbTargetPipeReadersFailed コールバック関数の呼び出しを他のコールバック関数の呼び出しと同期する方法については、「EvtUsbTargetPipeReadComplete の「解説」セクション参照してください。
EvtUsbTargetPipeReadersFailed コールバック関数は、連続リーダーの USB ターゲットを停止するために WdfIoTargetStop 呼び出してはなりません。 (実際には、EvtUsbTargetPipeReadersFailed コールバック関数で WdfIoTargetStop 呼び出すとデッドロックが発生します)。また、連続リーダーを再起動するために、コールバック関数 WdfIoTargetStart を呼び出してはなりません。 代わりに、コールバック関数が TRUE 返した場合、フレームワークはリーダーを再起動します。 連続リーダー WdfIoTargetStart を呼び出して WdfIoTargetStop を するタイミングの詳細については、「USB パイプの操作」を参照してください。
ドライバーが EvtUsbTargetPipeReadersFailed コールバック関数を提供せず、ドライバーの I/O ターゲットがエラーを報告する場合、フレームワークは USB パイプをリセットし、連続リーダーを再起動します。
EvtUsbTargetPipeReadersFailed コールバック関数と USB I/O ターゲットの詳細については、「USB I/O ターゲット」を参照してください。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | 万国 |
最小 KMDF バージョン | 1.0 |
UMDF の最小バージョン を する | 2.0 |
ヘッダー | wdfusb.h (Wdf.h を含む) |
IRQL | PASSIVE_LEVEL |
関連項目
EvtUsbTargetPipeReadComplete の