次の方法で共有


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

NTSTATUS 値は、パイプの I/O ターゲットが返

[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

WDF_USB_CONTINUOUS_READER_CONFIG