Share via


UMDF の一般 I/O ターゲット

一般 I/O ターゲット (ローカルとリモートがあります) は、USB 要求ブロックなど、特殊なデバイス固有のデータ形式をサポートしない I/O ターゲットです。ドライバーは、データを一般 I/O ターゲットに送信する前に、I/O ターゲットおよびデバイスが解釈できる形式で、書き込みバッファー内にデータを配置する必要があります。同様に、ドライバーは、一般 I/O ターゲットからのデータを読み取るとき、ターゲットから受信するデータ バッファーの内容を解釈できる必要があります。

  • Local I/O Targets
    多くの場合、ドライバーは I/O 要求をドライバー スタック内の次の下位ドライバーに送信します。したがって、UMDF ベースのドライバーには、各デバイス用の "既定の I/O ターゲット" があります。これは、デバイスの次の下位ドライバーです。最下位レベルの UMDF ベースのドライバーの既定の I/O ターゲットは、カーネル モードのリフレクターです。

    UMDF ベースのドライバーでは、I/O 要求をファイル ハンドル ベースの I/O ターゲット (ファイルやネットワーク ソケットなど) に送信しなければならない場合もあります。そのため、フレームワークには、ファイル ハンドル ベースの I/O ターゲット オブジェクトも用意されています。

    既定の I/O ターゲットとファイル ハンドル ベースの I/O ターゲットはどちらも、ドライバー スタックでサポートされるデバイスへの I/O 要求の送信に使用されることから、"ローカル I/O ターゲット" と呼ばれます。

  • Remote I/O Targets
    ドライバーでは、I/O 要求を別のドライバー スタックに送信しなければならない場合もあります。したがって、フレームワークは "リモート I/O ターゲット" も提供します。リモート I/O ターゲットは、ローカル I/O ターゲットを除くすべての I/O ターゲットで構成されます。

    つまり、ドライバー スタックでサポートされないデバイス、そのデバイス上のファイル、そのデバイスのデバイス インターフェイスなどが含まれます。

 

以下のセクションでは、一般 I/O ターゲットを初期化する方法や作成する方法について説明します。

UMDF での一般 I/O ターゲットの初期化

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

UMDF での一般 I/O ターゲットの状態の制御

UMDF での一般 I/O ターゲットに関する情報の取得