次の方法で共有


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::StartIWDFIoTargetStateManagement::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

IUsbTargetPipeContinuousReaderCallbackReadersFailed