英語で読む

次の方法で共有


シリアル コントローラー ドライバー設計ガイド

シリアル I/O 要求インターフェイス を使用して、シリアル ポートに接続されている周辺機器と通信するドライバーまたはアプリケーションを設計できます。 シリアル ポートは、16550 UART または互換性のあるデバイスであるシリアル コントローラー上のハードウェア通信インターフェイスです。 周辺機器が永続的に接続されているシリアル ポートを制御するには、バージョン 1 (SerCx) を置き換えるシリアル フレームワーク拡張機能 (SerCx2) のバージョン 2 で動作するカスタム シリアル コント ローラー ドライバーを設計できます。

以前のバージョンの Windows では、PC のケースにある名前付きのシリアル COM ポート、インボックスの Serial.sys ドライバーと Serenum.sys ドライバーが使用されていました。 詳細については、「以前のバージョンの Windows - シリアル コントローラー ドライバーの とシリアル IRP の主要な機能コード を参照してください。

注意

このトピックでは、従来の COM ポートのプログラミングについて説明します。 USB 接続シリアル ポートの詳細については、USB シリアル ドライバー (Usbser.sys)を参照してください。

SerCx2

シリアル フレームワーク拡張機能 (SerCx2) のバージョン 2 と連携してシリアル コントローラー を管理するシリアル コントローラー ドライバーを記述できます。 SerCx2 とシリアル コントローラー ドライバーによって共同管理されるシリアル コントローラーのポートに接続されている周辺機器の周辺機器ドライバーを記述することもできます。 この周辺機器ドライバーは、シリアル I/O 要求インターフェイスを使用して、デバイスとの間でデータを転送します。 拡張ベースのシリアル コントローラー ドライバーは、シリアル コントローラーのすべてのハードウェア固有のタスクを処理しますが、SerCx2 を使用して、すべてのシリアル コントローラーに共通する多くのシステム タスクを実行します。 SerCx2 は、Windows 8.1 以降のシステム提供コンポーネントです。

SerCx2 は、タイムアウトを管理し、シリアル コントローラーへのアクセスを競合する I/O トランザクションを調整するために必要な処理作業のシリアル コントローラー ドライバーを軽減します。 その結果、シリアル コントローラー ドライバーのサイズが小さくなり、シンプルになります。 シリアル コントローラーのハードウェア ベンダーは、シリアル コントローラー内のハードウェア固有の機能を管理し、SerCx2 に依存して汎用シリアル コントローラー タスクを実行する拡張ベースのシリアル コントローラー ドライバーを提供します。 このドライバーは、SerCx2 デバイス ドライバー インターフェイスを介して SerCx2 と通信します。

SerCx2 の詳細については、シリアル フレームワーク拡張機能 (SerCx2) のバージョン 2 を使用するを参照してください。

このセクションの内容