デバイス固有パラメーターの設定

ほとんどのリモート NDIS デバイスは、ホストでパラメーターを構成しなくても正常に機能することが期待されます。 ただし、適切なネットワーク操作でホスト上で何らかの構成が必要になる場合があります。 デバイスが構成可能なパラメーターをサポートしている場合は、OID_GEN_SUPPORTED_LIST のクエリに応答して報告するサポートされている OID の一覧に、次の省略可能な OID を含める必要があります。

#define OID_GEN_RNDIS_CONFIG_PARAMETER 0x0001021B

デバイスが OID_GEN_RNDIS_CONFIG_PARAMETER OID をサポートしている場合、ホストは、デバイスが初期化されていない状態からリモート NDIS によって初期化された状態に入った直後に、それを使用してデバイス固有のパラメーターを設定します。 ホストは、0 個以上の REMOTE_NDIS_Standard Edition T_MSGs をデバイスに送信し、OID 値として OID_GEN_RNDIS_CONFIG_PARAMETER を設定します。 このような各 REMOTE_NDIS_SET_MSG は、ホストで構成されている 1 つのデバイス固有のパラメーターに対応します。

このような各 REMOTE_NDIS_SET_MSG に関連付けられている InformationBuffer の形式は次の通りです。 Offset 値は、情報バッファーの先頭からの相対値であることに注意してください。

オフセット サイズ フィールド 説明

0

4

ParameterNameOffset

パラメーター名を表す Unicode 文字列が配置されている ParameterNameOffset フィールドの先頭からのバイト オフセットを指定します。 文字列に NULL ターミネータが含まれていません。

4

4

ParameterNameLength

パラメータ名文字列のバイト長を指定します。

8

4

ParameterType

パラメーターの値のデータ型を指定します。 これは、以下のいずれかです: 0 - 数値。2 - 文字列値。

12

4

ParameterValueOffset

パラメーター値が配置されている ParameterNameOffset フィールドの先頭からのバイト オフセットを指定します。

16

4

ParameterValueLength

パラメーター値のバイト長を指定します。

デバイスは、パラメーター値を適用した後、各REMOTE_NDIS_SET_MSG に応答して REMOTE_NDIS_SET_CMPLTを送信します。 パラメーター設定が許容される場合は、応答で RNDIS_STATUS_SUCCESS の状態が返されます。 パラメーター設定が受け入れ可能ではなく、デバイスがこのパラメーターに有用な既定値を適用できない場合、デバイスは適切なエラー状態値を返します (状態値のセクションを参照)。 エラー状態が返された場合、ホストはデバイスの停止プロセスを開始します。

デバイス固有のパラメーターは、Windows レジストリで構成する必要があります。 パラメーター値を定義するキーは、通常、デバイスのインストールプロセス中にレジストリに作成されます。 キー、型情報、既定値、および有効な値のオプションの範囲の一覧は、デバイスの INF ファイルで指定されます。 INF を使用してネットワーク デバイスのレジストリに構成パラメーターを設定する方法の詳細については、Windows 2000 ドライバー開発キット (DDK) を参照してください。