OID_WAN_CO_GET_INFO
L’OID OID_WAN_CO_GET_INFO demande au pilote miniport de retourner les informations qui s’appliquent à toutes les connexions virtuelles sur sa carte réseau. Ces informations sont retournées dans une structure NDIS_WAN_CO_INFO, définie comme suit.
typedef struct _NDIS_WAN_CO_INFO {
OUT ULONG MaxFrameSize;
OUT ULONG MaxSendWindow;
OUT ULONG FramingBits;
OUT ULONG DesiredACCM;
} NDIS_WAN_CO_INFO, *PNDIS_WAN_CO_INFO;
Les membres de cette structure contiennent les informations suivantes :
MaxFrameSize
Spécifie la taille d’image maximale pour tout paquet net que le pilote miniport peut envoyer et recevoir. Cette valeur doit exclure la surcharge de cadrage du pilote miniport et/ou la surcharge PPP HDLC. En général, cette valeur est d’environ 1500.
Toutefois, tous les pilotes de miniport CoNDIS WAN doivent utiliser une taille MaxFrameSize interne supérieure de 32 octets à la valeur qu’ils retournent pour cet OID. Par exemple, un pilote coNDIS WAN miniport qui retourne 1500 pour cet OID doit accepter et envoyer en interne jusqu’à 1532. Un tel pilote miniport peut facilement prendre en charge les futurs protocoles de pontage et supplémentaires.
MaxSendWindow
Spécifie le nombre maximal de paquets en attente que le pilote miniport CoNDIS WAN peut gérer sur un vc. Ce membre doit être défini sur au moins un.
Le pilote NDISWAN utilise la valeur de ce membre comme limite du nombre de paquets qu’il envoie dans les demandes d’envoi à la fonction MiniportCoSendPackets du pilote miniport avant que NDISWAN ne contienne les paquets d’envoi. Ces paquets sont mis en file d’attente jusqu’à ce que le pilote miniport termine un envoi en attente. Un pilote miniport peut ajuster cette valeur dynamiquement et par vc à l’aide du membre SendWindow de la structure WAN_CO_LINKPARAMS que le pilote miniport transmet à NdisMCoIndicateStatus. NDISWAN utilise la valeur SendWindow actuelle comme limite pour les envois en attente. Si le pilote miniport définit SendWindow sur zéro, NDISWAN doit arrêter d’envoyer des paquets pour le vc particulier. Autrement dit, le pilote miniport spécifie que la fenêtre d’envoi est arrêtée, ce qui, en fait, spécifie qu’elle ne peut accepter aucun paquet de NDISWAN.
Étant donné qu’un pilote de miniport CoNDIS WAN doit mettre en file d’attente les paquets en interne, la valeur de MaxSendWindow est théoriquement max( ULONG). Toutefois, cette valeur déterminée par le pilote doit refléter la vitesse de liaison ou les fonctionnalités matérielles de la carte réseau. Par exemple, si la carte réseau d’un pilote miniport a toujours de la place pour au moins quatre paquets, le pilote miniport définit MaxSendWindow sur quatre afin que tout paquet entrant dans MiniportCoSendPackets puisse être placé immédiatement sur le matériel.
FramingBits
Valeur 32 bits qui spécifie un masque de bits spécifiant les types de cadrage pris en charge par le pilote miniport. Le pilote miniport peut spécifier une combinaison des valeurs suivantes, à l’aide de l’opérateur BINAIRE OR :
RAS_FRAMING
Définissez uniquement si le pilote miniport peut détecter un cadrage RAS plus ancien. Seuls les pilotes hérités qui ont pris en charge le cadrage RAS antérieur définissent cet indicateur.
RAS_COMPRESSION
Définissez uniquement si le pilote miniport prend en charge l’ancien schéma de compression RAS.
PPP_FRAMING
Doit toujours être défini. Indique que le pilote miniport peut détecter et prendre en charge le cadrage PPP pour son type moyen.
PPP_COMPRESS_ADDRESS_CONTROL
Définissez si le pilote miniport prend en charge l’adresse PPP et la compression de champ de contrôle.
NDISWAN supprime le champ d’adresse et de contrôle si cette option LCP est négociée. Certains types de supports WAN, tels que X.25, ne prennent pas en charge cette option.
PPP_COMPRESS_PROTOCOL_FIELD
Définissez si le pilote miniport prend en charge la compression de champ de protocole PPP.
NDISWAN supprime un octet du champ de protocole le cas échéant si cette option LCP est négociée.
PPP_ACCM_SUPPORTED
Définissez si le pilote miniport prend en charge le mappage de caractères de contrôle asynchrone. Ce bit n’est valide que pour les médias asynchrones, tels que les modems. Si ce bit est défini, le membre DesiredACCM doit être valide.
PPP_MULTILINK_FRAMING
Définissez si le pilote miniport prend en charge le cadrage à plusieurs liens, comme spécifié dans IETF RFC 1717.
PPP_SHORT_SEQUENCE_HDR_FORMAT
Définissez si le pilote miniport prend en charge le format d’en-tête pour le cadrage à plusieurs liens, comme spécifié dans IETF RFC 1717.
SLIP_FRAMING
Définissez si le pilote miniport peut détecter et prendre en charge le cadrage SLIP (pilotes miniport asynchrones uniquement).
SLIP_VJ_COMPRESSION
Définissez si le pilote miniport peut prendre en charge la compression d’en-tête TCP/IP Van Jacobsen pour SLIP. NDISWAN prend en charge SLIP_VJ_COMPRESSION (avec 16 emplacements). Le média asynchrone (pilotes miniport série) qui prend en charge le cadrage SLIP doit définir ce bit.
Le média asynchrone n’a pas besoin d’écrire de code pour prendre en charge la compression d’en-tête VJ. NDISWAN s’en chargera.
SLIP_VJ_AUTODETECT
Définissez si le pilote miniport peut détecter automatiquement la compression d’en-tête TCP/IP Van Jacobsen pour SLIP. NDISWAN détecte automatiquement la compression d’en-tête VJ. Le support asynchrone (pilotes miniport série) doit définir ce bit s’ils prennent en charge le cadrage SLIP.
TAPI_PROVIDER
Définissez si le pilote miniport prend en charge les OID du fournisseur de services TAPI. Sauf si ce bit est défini, les appels TAPI OID ne seront pas effectués au pilote miniport.
MEDIA_NRZ_ENCODING
Définissez si le pilote miniport prend en charge l’encodage NRZ, la valeur PPP par défaut pour certains types de médias tels que ISDN. Cette valeur est réservée à une utilisation ultérieure.
MEDIA_NRZI_ENCODING
Définissez si le pilote miniport prend en charge l’encodage NRZI. Cette valeur est réservée à une utilisation ultérieure.
MEDIA_NLPID
Définissez si le pilote miniport a et peut définir le NLPID dans son cadre. Cette valeur est réservée à une utilisation ultérieure.
RFC_1356_FRAMING
Définissez si le pilote miniport prend en charge IETF RFC 1356 X.25 et le cadrage ISDN. Cette valeur est réservée à une utilisation ultérieure.
RFC_1483_FRAMING
Définissez si le pilote miniport prend en charge IETF RFC 1483 ATM adaptation couche 5. Cette valeur est réservée à une utilisation ultérieure.
RFC_1490_FRAMING
Définissez si le pilote miniport prend en charge le cadrage IETF RFC 1490 Frame Relay. Cette valeur est réservée à une utilisation ultérieure.
NBF_PRESERVE_MAC_ADDRESS
Définissez si le pilote miniport prend en charge le cadrage IETF comme spécifié dans le brouillon « Protocole de contrôle des images PPP NETBIOS (NBFCP) ».
SHIVA_FRAMING
Remplacé par NBF_PRESERVE_MAC_ADDRESS.
PASS_THROUGH_MODE
Définissez si le pilote miniport effectue son propre cadrage. Si cet indicateur est défini, NDISWAN transmet des frames, non interprétés et non modifiés.
Les pilotes miniport doivent être en mode de cadrage PPP par défaut jusqu’à ce que chaque pilote miniport reçoive une demande de OID_WAN_CO_SET_LINK_INFO . Le pilote miniport doit détecter automatiquement tout cadrage qu’il prétend prendre en charge.
Par exemple, les pilotes miniport qui prennent en charge l’ancien cadrage RAS doivent détecter automatiquement le cadrage RAS à partir d’un cadrage PPP. Si un pilote de miniport détecte un schéma de cadrage autre que celui par défaut, ce pilote miniport doit automatiquement basculer son cadrage dans le cadrage nouvellement détecté.
Une requête suivante avec OID_WAN_CO_GET_LINK_INFO doit indiquer le cadrage détecté. Si aucun cadrage n’est encore détecté, les framingBits doivent être zéro dans les informations de NDIS_WAN_CO_GET_LINK_INFO retournées.
Si le pilote de miniport WAN est appelé par la suite avec OID_WAN_CO_SET_LINK_INFO dont le membre FramingBits est égal à zéro, le pilote miniport doit tenter de détecter automatiquement le cadrage à la réception de chaque image.
DesiredACCM
Le mappage de caractères de contrôle asynchrone est négocié. Ce membre s’applique uniquement aux types de médias asynchrones.
Spécifications
Version |
Pris en charge pour les pilotes NDIS 6.0 et NDIS 5.1 dans Windows Vista. Pris en charge pour les pilotes NDIS 5.1 dans Windows XP. |
En-tête |
Ntddndis.h (inclure Ndis.h) |