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

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

以前のバージョンの Windows では、PC のケースにある名前付きのシリアル COM ポート、インボックスの Serial.sys ドライバーと Serenum.sys ドライバーが使用されていました。

Note

このトピックでは、従来の 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 の使用」を参照してください。

このセクションの内容