Поделиться через


Настройка параметров Device-Specific

Ожидается, что большинство удаленных устройств NDIS будут работать хорошо без необходимости настройки параметров на узле. Однако могут возникать случаи, когда для правильной сетевой работы требуется определенная конфигурация на узле. Если устройство поддерживает настраиваемые параметры, оно должно включить следующий необязательный OID в список поддерживаемых идентификаторов OID, которые оно сообщает в ответ на запрос OID_GEN_SUPPORTED_LIST:

#define OID_GEN_RNDIS_CONFIG_PARAMETER 0x0001021B

Если устройство поддерживает OID OID_GEN_RNDIS_CONFIG_PARAMETER , узел использует его для установки параметров устройства вскоре после того, как устройство переходит в состояние, инициализированное remote NDIS из неинициализированного состояния. Узел отправляет на устройство ноль или более REMOTE_NDIS_SET_MSGs с OID_GEN_RNDIS_CONFIG_PARAMETER в качестве значения OID для установки. Каждая такая REMOTE_NDIS_SET_MSG соответствует одному параметру устройства, который настроен на узле.

InformationBuffer, связанный с каждым из таких REMOTE_NDIS_SET_MSG, имеет следующий формат. Обратите внимание, что значения Offset относятся к началу информационного буфера.

Offset Размер Поле Описание

0

4

ParameterNameOffset

Указывает смещение в байтах от начала поля ParameterNameOffset, в котором находится строка символов Юникода, представляющая имя параметра. Строка не содержит признак конца NULL.

4

4

ParameterNameLength

Указывает длину байтов строки имени параметра.

8

4

ParameterType

Указывает тип данных значения параметра. Это одно из следующих значений: 0 — числовое значение; 2 — строковое значение.

12

4

ParameterValueOffset

Задает смещение в байтах от начала поля ParameterNameOffset, в котором находится значение параметра.

16

4

ParameterValueLength

Указывает длину байтов значения параметра.

Устройство отправляет REMOTE_NDIS_SET_CMPLT в ответ на каждое REMOTE_NDIS_SET_MSG после применения значения параметра. Если параметр является допустимым, он возвращает состояние RNDIS_STATUS_SUCCESS в ответе. Если параметр недопустим и устройство не может применить полезное значение по умолчанию для этого параметра, устройство возвращает соответствующее значение состояния ошибки (см. раздел о значениях состояния). Если возвращается состояние ошибки, узел инициирует процесс остановки устройства.

Параметры для конкретных устройств должны быть настроены в реестре Windows. Ключи, определяющие значения параметров, обычно создаются в реестре во время установки устройства. Список ключей, сведения о типах, значения по умолчанию и необязательный диапазон допустимых значений указываются в INF-файле для устройства. Дополнительные сведения об использовании INF для настройки параметров конфигурации в реестре для сетевых устройств см. в пакете средств разработки драйверов Windows 2000 (DDK).