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 以降では、このエントリ値は、BusRelations の IRP_MN_QUERY_DEVICE_RELATIONS 要求に応じて Serenum がポートを列挙するタイミングを制御します。
システムがシリアル ポート デバイス スタックを構築するたびに、Serenum はポートの列挙に使用する列挙モードを設定します。 ポートのデバイス スタックの初期化中に、Serenum の AddDevice ルーチンはポートの SkipEnumerations エントリ値を読み取り、次の表に示すように列挙モードを設定します。
列挙モード | SkipEnumerations 値 | 説明 |
---|---|---|
普通に列挙します。 |
0x00000000 (または値のエントリが存在しません) |
Serenum は、すべての BusRelations 要求 (システムの起動によって開始されたか、デバイス マネージャーやハードウェアの追加ウィザードを介してユーザーによって開始されたかに関係なく) に応答してシリアル ポートを列挙します。 |
指定された数の列挙をスキップします。 |
0x00000001 から 0xFFFFFFE までの値 |
Serenum は、ポートが有効なままである限り、指定された数の列挙をスキップし、その後は通常どおり列挙を行います。 |
すべての列挙をスキップします。 |
0xFFFFFFFF |
Serenum はポートをリストすることはありません。 ポートに接続されているデバイスは手動でインストールする必要があります。 |
たとえば、システムがポート デバイス スタックを構築するときにシリアル ポートの SkipEnumerations エントリ値が 3 に設定されている場合、Serenum はそのポートに対して受信する最初の 3 つの BusRelations リクエストをスキップします。 Serenum はその後、ポートが有効になっている限り、通常の方法でポートを列挙します。