次の方法で共有


IQueueCallbackRead::OnRead メソッド (wudfddi.h)

[警告: UMDF 2 は UMDF の最新バージョンであり、UMDF 1 よりも優先されます。 すべての新しい UMDF ドライバーは、UMDF 2 を使用して記述する必要があります。 UMDF 1 には新機能が追加されておらず、新しいバージョンのWindows 10では UMDF 1 のサポートが制限されています。 ユニバーサル Windows ドライバーでは、UMDF 2 を使用する必要があります。 詳細については、「UMDF を使用したはじめに」を参照してください。

OnRead メソッドは、アプリケーションが Microsoft Win32 ReadFile または ReadFileEx 関数を介してデバイスから情報を読み取るときに、読み取り要求を処理するために呼び出されます。

構文

void OnRead(
  [in] IWDFIoQueue   *pWdfQueue,
  [in] IWDFIoRequest *pWdfRequest,
  [in] SIZE_T        NumOfBytesToRead
);

パラメーター

[in] pWdfQueue

要求が到着した I/O キュー オブジェクトの IWDFIoQueue インターフェイスへのポインター。

[in] pWdfRequest

フレームワーク要求オブジェクトを表す IWDFIoRequest インターフェイスへのポインター。

[in] NumOfBytesToRead

要求の読み取りバッファーのサイズ (バイト単位)。

戻り値

なし

解説

ドライバーは、IWDFDevice::CreateIoQueue メソッドを呼び出して I/O キューを作成するか、既定の I/O キューを構成するときに、IQueueCallbackRead インターフェイスを登録します。

ドライバーは、すべての I/O キューに対して 1 つの OnRead メソッドを実装することも、I/O キューごとに個別の OnRead メソッドを実装することもできます。

OnRead メソッドは、キューからすべての読み取り要求の種類を受け取ります。 (読み取り要求の種類は、要求のWDF_REQUEST_TYPE列挙型の WdfRequestRead 値によって識別されます)。OnRead メソッドは、受信した各読み取り要求を処理する必要があります。 UMDF ドライバーが I/O 要求を処理する方法の詳細については、「 I/O 要求の処理」を参照してください。

ドライバーは 、IWDFIoRequest::GetReadParameters メソッドと IWDFIoRequest::GetOutputMemory メソッドを呼び出して、要求と読み取りバッファーに関する情報を取得できます。

要件

要件
対象プラットフォーム Windows
ヘッダー wudfddi.h (Wudfddi.h を含む)

こちらもご覧ください

IQueueCallbackRead

IWDFDevice::CreateIoQueue

IWDFIoQueue

IWDFIoRequest

WDF_REQUEST_TYPE