次の方法で共有


一般 I/O ターゲットへの I/O 要求の送信

ドライバーは、I/O 要求を一般 I/O ターゲットに同期的または非同期的に送信できます。

ドライバーが I/O 要求を同期的に送信する場合、ドライバーのスレッドは要求を一度に 1 つずつ送信します。スレッドは、各要求が完了するまで待機してから、次の要求を送信します。この処理は、I/O 要求を非同期で送信するよりも単純です。ドライバーが多数の要求を送信することがなく、ドライバーが各 I/O 要求を待機することによるシステムまたはデバイスのパフォーマンス低下がない場合、そのドライバーは I/O 要求を同期的に送信できます。

ドライバーが I/O 要求を非同期で送信する場合、ドライバーのスレッドは、要求の準備が整いしだい、前に送信した要求の完了まで待機せずに、各要求を送信します。ドライバーが短時間に多数の I/O 要求を処理する必要がある場合は、通常、ドライバーが次の要求を送信する前に、各要求の完了を待機することはできません。各要求の完了を待機していると、データの損失や、ドライバーの管理下にあるデバイス (および多くの場合システム全体) のパフォーマンス低下につながる可能性があります。

フレームワークの I/O ターゲット オブジェクトには、ドライバーから呼び出すことができる一連のメソッドが 2 種類用意されています。一方は I/O 要求を同期的に送信するためのメソッド、もう一方は I/O 要求を非同期で送信するためのメソッドです。

これらの各メソッドでは、要求オブジェクトと一定のバッファー領域を指定する必要があります。これらのメソッドにより、ドライバーのいずれかの I/O キューで受信した要求の転送や、新しい要求の作成および送信ができます。