IUsbTargetPipeContinuousReaderCallbackReadersFailed::OnReaderFailure メソッド (wudfusb.h)
[警告: UMDF 2 は UMDF の最新バージョンであり、UMDF 1 よりも優先されます。 すべての新しい UMDF ドライバーは、UMDF 2 を使用して記述する必要があります。 UMDF 1 には新機能が追加されておらず、新しいバージョンのWindows 10では UMDF 1 のサポートが制限されています。 ユニバーサル Windows ドライバーでは UMDF 2 を使用する必要があります。 詳細については、「UMDF を使用したはじめに」を参照してください。
ドライバーの OnReaderFailure イベント コールバック関数は、読み取り要求の処理中に継続的リーダーがエラーを報告したことをドライバーに通知します。
構文
BOOL OnReaderFailure(
[in] IWDFUsbTargetPipe *pPipe,
[in] HRESULT hrStatus
);
パラメーター
[in] pPipe
ドライバーが連続リーダーを有効にした USB パイプの IWDFUsbTargetPipe インターフェイスへのポインター。
[in] hrStatus
USB パイプの I/O ターゲットから返された HRESULT 型の状態値。
戻り値
OnReaderFailure イベント コールバック関数はブール値を返す必要があります。 戻り値が TRUE の場合、フレームワークは USB パイプをリセットし、連続リーダーを再起動します。 コールバック関数が FALSE を返した場合、フレームワークはデバイスをリセットしたり、継続的リーダーを再起動したりしません。
注釈
OnReaderFailure コールバック関数を登録するには、ドライバーが IWDFUsbTargetPipe2::ConfigureContinuousReader を呼び出すときに、ドライバーの IUsbTargetPipeContinuousReaderCallbackReadersFailed インターフェイスへのポインターを提供する必要があります。
ドライバーが USB パイプの連続リーダーを作成した場合、ドライバーの I/O ターゲットが読み取り要求を完了したときにエラーが報告された場合、フレームワークはドライバーの OnReaderFailure コールバック関数を呼び出します。 (I/O ターゲットが要求を正常に完了した場合、フレームワークはドライバーの IUsbTargetPipeContinuousReaderCallbackReadComplete::OnReaderCompletion コールバック関数を呼び出します)。
フレームワークは、ドライバーの OnReaderFailure コールバック関数を呼び出す前に、進行中のすべての読み取り要求を取り消そうとします。 フレームワークが OnReaderFailure コールバック関数を呼び出すとき、読み取り要求は進行中ありません。 OnReaderFailure コールバック関数が返されるまで、フレームワークは追加の読み取り要求をキューに入れません。
フレームワークが OnReaderFailure コールバック関数の呼び出しを他のコールバック関数の呼び出しと同期する方法については、「 IUsbTargetPipeContinuousReaderCallbackReadComplete::OnReaderCompletion」の「解説」セクションを参照してください。
OnReaderFailure コールバック関数は、継続的リーダーの USB ターゲットを停止するために IWDFIoTargetStateManagement::Stop を呼び出してはなりません。 (実際、OnReaderFailure コールバック関数で IWDFIoTargetStateManagement::Stop を呼び出すとデッドロックが発生します)。また、コールバック関数は、IWDFIoTargetStateManagement::Start を呼び出して継続的リーダーを再起動することはできません。 代わりに、コールバック関数が TRUE を返した場合、フレームワークはリーダーを再起動 します。 IWDFIoTargetStateManagement::Start と IWDFIoTargetStateManagement::Stop を連続リーダーで呼び出すタイミングの詳細については、「UMDF での USB パイプの操作」を参照してください。
ドライバーが OnReaderFailure コールバック関数を提供せず、ドライバーの I/O ターゲットからエラーが報告された場合、フレームワークは USB パイプをリセットし、継続的リーダーを再起動します。
OnReaderFailure コールバック関数と USB I/O ターゲットの詳細については、「USB I/O ターゲットの処理」を参照してください。
要件
要件 | 値 |
---|---|
サポート終了 | UMDF 2.0 以降では使用できません。 |
対象プラットフォーム | デスクトップ |
最小 UMDF バージョン | 1.9 |
Header | wudfusb.h (Wudfusb.h を含む) |
こちらもご覧ください
IUsbTargetPipeContinuousReaderCallbackReadComplete::OnReaderCompletion