次の方法で共有


EVT_WDF_IO_QUEUE_IO_WRITE コールバック関数 (wdfio.h)

[KMDF と UMDF に適用]

ドライバーの EvtIoWrite イベント コールバック関数は、指定された書き込み要求を処理します。

構文

EVT_WDF_IO_QUEUE_IO_WRITE EvtWdfIoQueueIoWrite;

void EvtWdfIoQueueIoWrite(
  [in] WDFQUEUE Queue,
  [in] WDFREQUEST Request,
  [in] size_t Length
)
{...}

パラメーター

[in] Queue

I/O 要求に関連付けられているフレームワーク キュー オブジェクトへのハンドル。

[in] Request

フレームワーク要求オブジェクトへのハンドル。

[in] Length

書き込むバイト数。

戻り値

なし

解説

ドライバーは、WdfIoQueueCreate を呼び出すときに EvtIoWrite コールバック関数を登録します。 WdfIoQueueCreate の呼び出しの詳細については、「I/O キューの作成」を参照してください。

ドライバーがデバイスの I/O キューの EvtIoWrite コールバック関数を登録している場合、コールバック関数はキューからすべての書き込み要求を受け取ります。 詳細については、「 要求ハンドラー」を参照してください。

EvtIoWrite コールバック関数は、受信した各 I/O 要求を何らかの方法で処理する必要があります。 詳細については、「 I/O 要求の処理」を参照してください。

書き込み要求には、ドライバーが受け取るデータを含む入力バッファーが必要です。 ドライバーが書き込み要求のバッファーにアクセスする方法については、「 Framework-Based ドライバーでのデータ バッファーへのアクセス」を参照してください。

このコールバック関数は、デバイスまたはドライバーのWDF_OBJECT_ATTRIBUTES構造体の ExecutionLevel メンバーが WdfExecutionLevelPassive に設定されていない限り、IRQL <= DISPATCH_LEVELで呼び出すことができます。

IRQL がPASSIVE_LEVELされている場合、フレームワークは 重要なリージョン内でコールバック関数を呼び出します。

要求ハンドラーの IRQL レベルの詳細については、「 自動同期の使用」を参照してください。

ドライバーの EvtIoWrite コールバック関数は、次のキュー オブジェクト メソッドを呼び出さないでください。

WdfIoQueueDrainSynchronously
WdfIoQueuePurgeSynchronously
WdfIoQueueStopSynchronously

要件

要件
対象プラットフォーム ユニバーサル
最小 KMDF バージョン 1.0
最小 UMDF バージョン 2.0
Header wdfio.h (Wdf.h を含む)
IRQL <= DISPATCH_LEVEL (「解説」セクションを参照)

こちらもご覧ください

EvtIoDefault

WDF_OBJECT_ATTRIBUTES

WdfIoQueueCreate