SerCx2 で管理されるシリアル ポート上のデバイスにアクセスする
SerCx2 とシリアル コントローラー ドライバーは、周辺機器が永続的に接続されるシリアル ポートを共同で管理します。 SerCx2 が管理するシリアル ポート上の周辺機器にアクセスするには、周辺機器ドライバーがシリアル ポートへの論理接続を開き、この接続を表すファイル ハンドルを取得します。 次に、ドライバーはこのハンドルを使用して I/O 要求をポートに送信します。
このセクションの内容
SerCx2 で管理されるシリアル ポート上のデバイスの周辺機器ドライバー
通常、SerCx2 が管理するシリアルポートは、周辺機器に常時接続されています。 このデバイスは、シリアル ポートに I/O 要求を送信する周辺機器ドライバーによって制御されます。 これらのリクエストは、デバイスとの間でデータを転送し、シリアル ポートの状態を構成します。 周辺機器ドライバーによって送信された I/O 要求は、SerCx2 と関連するシリアル コントローラー ドライバーによって共同で処理されます。
-
周辺機器ドライバーが、SerCx2 とシリアル コントローラー ドライバーによって共同管理されるシリアル ポート上のデバイスを制御する場合、ドライバーはこのポートへの論理接続を開き、ポート経由でデバイスに I/O 要求を送信できます。
-
周辺機器ドライバーは、シリアルコントローラのポートに書き込み (IRP_MJ_WRITE) と読み出し (IRP_MJ_READ) 要求をシリアル コントローラー上のポートに送信し、ポートに接続されている周辺機器との間でデータを転送します。 SerCx2 がこれらの要求を処理する方法は、要求のタイムアウトたキャンセル時に関しても明確に定義されています。
SerCx2 で管理されるシリアル ポートからデータを読み取る
通常、シリアル コントローラー (UART) には受信 FIFO が含まれています。 この FIFO は、シリアル ポートに接続されている周辺デバイスから受信したデータのハードウェア制御によるバッファリングを提供します。 受信 FIFO からデータを読み取るために、このデバイスのペリフェラル ドライバーは読み取り (IRP_MJ_READ) リクエストをシリアル ポートに送信します。
SerCx または SerCx2 で管理されるシリアル ポートのデバイス インターフェイスの公開
Windows 10 バージョン 1903 以降では、システム メーカーまたはインテグレーターは ACPI を介してオプトインして、SerCx/SerCx2 がデバイス インターフェイスとしてアプリケーションやサービスにシリアル ポートを公開することを選択できます。