Serenum 用のレジストリ設定

このトピックでは、Microsoft Windows 2000 以降で Serenum が RS-232 ポートに使用するエントリ値について説明します。

次のレジストリ エントリ値は、RS-232 ポートのプラグ アンド プレイ ハードウェア デバイス レジストリ キーの下にあります:

PortName (REG_SZ)
ポートの名前を指定します。 Serenum はこの値を読み取り、IOCTL_SERENUM_GET_PORT_NAME リクエストに応答してポート名を返します。

識別子 (REG_SZ)
ポートの名前を指定します。 Serenum はこの値を読み取ります。 Identifier エントリ値のサポートは、一部のレガシー PCMCIA デバイスとの互換性を目的としてのみ提供されています。 Identifier エントリ値の使用は廃止されたため、Windows 2000 以降のドライバでは実装しないでください。 Serenum は、IOCTL_SERENUM_GET_PORT_NAME リクエストに応答してポート名を返します。

SkipEnumerations (REG_DWORD)
Windows XP 以降では、このエントリ値は、BusRelationsIRP_MN_QUERY_DEVICE_RELATIONS 要求に応じて Serenum がポートを列挙するタイミングを制御します。

システムがシリアル ポート デバイス スタックを構築するたびに、Serenum はポートの列挙に使用する列挙モードを設定します。 ポートのデバイス スタックの初期化中に、Serenum の AddDevice ルーチンはポートの SkipEnumerations エントリ値を読み取り、次の表に示すように列挙モードを設定します。

列挙モード SkipEnumerations 値 説明

普通に列挙します。

0x00000000

(または値のエントリが存在しません)

Serenum は、すべての BusRelations 要求 (システムの起動によって開始されたか、デバイス マネージャーやハードウェアの追加ウィザードを介してユーザーによって開始されたかに関係なく) に応答してシリアル ポートを列挙します。

指定された数の列挙をスキップします。

0x00000001 から 0xFFFFFFE までの値

Serenum は、ポートが有効なままである限り、指定された数の列挙をスキップし、その後は通常どおり列挙を行います。

すべての列挙をスキップします。

0xFFFFFFFF

Serenum はポートをリストすることはありません。 ポートに接続されているデバイスは手動でインストールする必要があります。

たとえば、システムがポート デバイス スタックを構築するときにシリアル ポートの SkipEnumerations エントリ値が 3 に設定されている場合、Serenum はそのポートに対して受信する最初の 3 つの BusRelations リクエストをスキップします。 Serenum はその後、ポートが有効になっている限り、通常の方法でポートを列挙します。