Partilhar via


Definindo parâmetros Device-Specific

Espera-se que a maioria dos dispositivos NDIS remotos funcione bem sem a necessidade de configurar parâmetros no host. No entanto, pode haver casos em que a operação de rede adequada requer alguma configuração no host. Se o dispositivo suporta parâmetros configuráveis, então ele deve incluir o seguinte OID opcional na lista de OIDs suportados que relata em resposta a uma consulta para OID_GEN_SUPPORTED_LIST:

#define OID_GEN_RNDIS_CONFIG_PARAMETER 0x0001021B

Se o dispositivo suportar o OID_GEN_RNDIS_CONFIG_PARAMETER OID, o host o usará para definir parâmetros específicos do dispositivo, logo após o dispositivo entrar em um estado inicializado pelo NDIS remoto a partir do estado não inicializado. O host enviará zero ou mais REMOTE_NDIS_SET_MSGs para o dispositivo, com OID_GEN_RNDIS_CONFIG_PARAMETER como o valor OID a ser definido. Cada REMOTE_NDIS_SET_MSG corresponde a um parâmetro específico do dispositivo que é configurado no host.

O InformationBuffer associado a cada REMOTE_NDIS_SET_MSG tem o seguinte formato. Observe que os valores de deslocamento são relativos ao início do buffer de informações.

Compensação Tamanho Campo Descrição

0

4

DeslocamentoNomeParametro

Especifica o deslocamento de byte desde o início do campo ParameterNameOffset no qual uma cadeia de caracteres Unicode que representa o nome do parâmetro está localizada. A cadeia de caracteres não inclui um terminador NULL.

4

4

ParameterNameLength

Especifica o comprimento do byte da cadeia de caracteres do nome do parâmetro.

8

4

Tipo de parâmetro

Especifica o tipo de dados do valor do parâmetro. Este é um dos seguintes: 0 - valor numérico; 2 - valor da cadeia de caracteres.

12

4

DeslocamentoDoValorDoParâmetro

Especifica o deslocamento de byte desde o início do campo ParameterNameOffset no qual o valor do parâmetro está localizado.

16

4

ParameterValueLength

Especifica o comprimento de byte do valor do parâmetro.

O dispositivo envia um REMOTE_NDIS_SET_CMPLT em resposta a cada REMOTE_NDIS_SET_MSG, depois de aplicar o valor do parâmetro. Se a configuração de parâmetro for aceitável, ela retornará um status de RNDIS_STATUS_SUCCESS na resposta. Se a configuração de parâmetro não for aceitável e o dispositivo não puder aplicar um valor padrão útil para esse parâmetro, o dispositivo retornará um valor de status de erro apropriado (consulte a seção sobre valores de status). Se um status de erro for retornado, o host iniciará um processo de interrupção para o dispositivo.

Espera-se que os parâmetros específicos do dispositivo sejam configurados no registro do Windows. As chaves que definem valores de parâmetro são normalmente criadas no registro durante o processo de instalação do dispositivo. A lista de chaves, informações de tipo, valores padrão e intervalo opcional de valores válidos são especificados no arquivo INF para o dispositivo. Para obter mais informações sobre como usar um INF para definir parâmetros de configuração no registro para dispositivos de rede, consulte o Windows 2000 Driver Development Kit (DDK).