OID_GEN_TRANSPORT_HEADER_OFFSET
En tant qu’ensemble, l’OID OID_GEN_TRANSPORT_HEADER_OFFSET indique la taille des en-têtes supplémentaires pour les paquets qu’un transport particulier envoie et reçoit.
Informations sur la version
Windows Vista et versions ultérieures de Windows
Pris en charge.
Pilotes miniport NDIS 6.0 et ultérieur
Optionnel.
Pilotes miniport NDIS 5.1
Optionnel.
Pilotes miniport NDIS 5.1
Optionnel.
Notes
Un transport informe les pilotes de miniport et d’autres pilotes en couches de cette taille d’en-tête ; ces pilotes peuvent ensuite utiliser ces informations lors du traitement des paquets. Par exemple, un pilote peut utiliser la taille d’en-tête de sous-couche obtenue à partir du transport pour localiser le début des informations de couche supérieure dans les paquets, comme le début de l’en-tête IP ; le pilote peut ensuite analyser et ajuster les champs de l’en-tête de protocole IP comme il convient. Les transports utilisent une structure TRANSPORT_HEADER_OFFSET, définie comme suit, pour indiquer cette taille d’en-tête.
typedef struct _TRANSPORT_HEADER_OFFSET {
USHORT ProtocolType;
USHORT HeaderOffset;
} TRANSPORT_HEADER_OFFSET, *PTRANSPORT_HEADER_OFFSET;
Les membres de cette structure contiennent les informations suivantes :
ProtocolType
Spécifie le type de protocole qui envoie cet OID et qui envoie et reçoit par la suite des paquets à l’aide de la taille d’en-tête de sous-couche spécifiée. Le protocole est l’une des valeurs suivantes :
NDIS_PROTOCOL_ID_DEFAULT
Protocole par défaut
NDIS_PROTOCOL_ID_TCP_IP
Protocole TCP/IP
NDIS_PROTOCOL_ID_IPX
Protocole IPX NetWare
NDIS_PROTOCOL_ID_NBF
Protocole NetBIOS
HeaderOffset
Spécifie la taille, en octets, de l’en-tête de sous-couche qui précède l’en-tête de protocole pour les paquets que le protocole envoie par la suite ou reçoit du pilote miniport ou d’un autre pilote en couche. Par exemple, sizeof(en-tête Ethernet) + sizeof(en-tête SNAP).
En règle générale, les transports calculent la taille d’en-tête des paquets à partir des informations récupérées à partir des pilotes miniport. Pour demander la taille totale maximale des paquets en octets qu’une carte réseau prend en charge, y compris l’en-tête, utilisez la OID_GEN_MAXIMUM_TOTAL_SIZE OID. Pour demander la taille maximale de paquets en octets prise en charge par une carte réseau, sans inclure d’en-tête, les transports utilisent l’OID OID_GEN_MAXIMUM_FRAME_SIZE . Pour calculer la taille maximale de l’en-tête, les transports soustraitent la taille de trame maximale de la taille totale maximale.
Si un transport transmet des paquets qui contiennent des informations d’en-tête de sous-couche, le transport doit connaître la taille de l’en-tête de sous-couche de ces paquets et doit informer les pilotes miniport sous-jacents et les autres pilotes en couche de la taille afin que les pilotes puissent traiter les paquets. L’envoi et la réception d’informations d’en-tête de sous-couche particulières dans un paquet peuvent être une option qui peut être définie dans le Registre pour un protocole particulier. Les transports peuvent ensuite obtenir des informations sur les en-têtes de sous-couche à partir du Registre et transmettre la taille d’en-tête aux pilotes miniport ou à d’autres pilotes en couches.
Par exemple, si un transport gère des paquets à partir du support Fiber Distributed Data Interface, le transport doit envoyer une requête définie aux pilotes miniport sous-jacents et à d’autres pilotes en couche à l’aide de OID_GEN_TRANSPORT_HEADER_OFFSET pour informer ces pilotes de la taille de l’en-tête de sous-couche des paquets. (FDDI n’est pas pris en charge dans Windows Vista et les versions ultérieures de Windows.) Ces paquets de FDDI peuvent contenir des informations de contrôle de liaison logique (LLC). Ces informations LLC peuvent à leur tour inclure un en-tête LLC et d’autres en-têtes tels que Sub-Network Access Protocol (SNAP). Le transport détermine à partir du registre d’utiliser LLC/SNAP et transmet la taille d’en-tête des segments de paquets LLC/SNAP aux pilotes de miniport.
Cet OID est facultatif pour les pilotes miniport et d’autres pilotes en couches. Étant donné que cet OID est facultatif, les pilotes ne sont pas tenus de répondre aux demandes effectuées par les transports à l’aide de cet OID.
Spécifications
En-tête |
Ntddndis.h (inclure Ndis.h) |