Définition des paramètres de Device-Specific
On s’attend à ce que la plupart des appareils NDIS distants fonctionnent correctement sans avoir à configurer les paramètres sur l’hôte. Toutefois, il peut arriver que le bon fonctionnement du réseau nécessite une configuration sur l’hôte. Si l’appareil prend en charge les paramètres configurables, il doit inclure l’OID facultatif suivant dans la liste des OID pris en charge qu’il signale en réponse à une requête pour OID_GEN_SUPPORTED_LIST :
#define OID_GEN_RNDIS_CONFIG_PARAMETER 0x0001021B
Si l’appareil prend en charge l’OID OID_GEN_RNDIS_CONFIG_PARAMETER , l’hôte l’utilise pour définir des paramètres spécifiques à l’appareil, peu après que l’appareil entre dans un état initialisé par remote NDIS à partir de l’état non initialisé. L’hôte envoie zéro ou plus REMOTE_NDIS_SET_MSGs à l’appareil, avec OID_GEN_RNDIS_CONFIG_PARAMETER comme valeur OID à définir. Chaque REMOTE_NDIS_SET_MSG correspond à un paramètre spécifique à l’appareil configuré sur l’hôte.
L’objet InformationBuffer associé à chaque REMOTE_NDIS_SET_MSG a le format suivant. Notez que les valeurs offset sont relatives au début de la mémoire tampon d’informations.
Offset | Taille | Champ | Description |
---|---|---|---|
0 |
4 |
ParameterNameOffset |
Spécifie le décalage d’octets à partir du début du champ ParameterNameOffset dans lequel se trouve une chaîne de caractères Unicode représentant le nom du paramètre. La chaîne n’inclut pas de terminateur NULL. |
4 |
4 |
ParameterNameLength |
Spécifie la longueur d’octets de la chaîne de nom de paramètre. |
8 |
4 |
ParameterType |
Spécifie le type de données de la valeur de paramètre. Il s’agit de l’une des valeurs suivantes : 0 - valeur numérique ; 2 - valeur de chaîne. |
12 |
4 |
ParameterValueOffset |
Spécifie le décalage d’octets à partir du début du champ ParameterNameOffset dans lequel se trouve la valeur du paramètre. |
16 |
4 |
ParameterValueLength |
Spécifie la longueur d’octets de la valeur du paramètre. |
L’appareil envoie un REMOTE_NDIS_SET_CMPLT en réponse à chaque REMOTE_NDIS_SET_MSG, après avoir appliqué la valeur du paramètre. Si le paramètre est acceptable, il retourne une status de RNDIS_STATUS_SUCCESS dans la réponse. Si le paramètre n’est pas acceptable et que l’appareil ne peut pas appliquer une valeur par défaut utile pour ce paramètre, l’appareil retourne une erreur appropriée status valeur (voir la section sur status valeurs). Si une erreur status est retournée, l’hôte lance un processus d’arrêt pour l’appareil.
Les paramètres spécifiques à l’appareil sont censés être configurés dans le Registre Windows. Les clés qui définissent des valeurs de paramètre sont généralement créées dans le Registre pendant le processus d’installation de l’appareil. La liste des clés, les informations de type, les valeurs par défaut et la plage facultative de valeurs valides sont spécifiées dans le fichier INF de l’appareil. Pour plus d’informations sur l’utilisation d’un inf afin de configurer des paramètres de configuration dans le Registre pour les périphériques réseau, consultez le Kit de développement du pilote (DDK) Windows 2000.