Partager via


REMOTE_NDIS_PACKET_MSG

REMOTE_NDIS_PACKET_MSG encapsule les paquets de données NDIS pour former un seul message de données.

La concaténation de plusieurs éléments REMOTE_NDIS_PACKET_MSG forme un message multipacket. Chaque composant REMOTE_NDIS_PACKET_MSG est construit comme décrit ci-dessous. La différence par rapport au message à paquet unique est que le champ MessageLength de chaque en-tête REMOTE_NDIS_PACKET_MSG inclut des octets de remplissage supplémentaires. Ces octets de remplissage sont ajoutés à tous les REMOTE_NDIS_PACKET_MSG à l’exception de la dernière REMOTE_NDIS_PACKET_MSG afin que le REMOTE_NDIS_PACKET_MSG suivant commence à une limite d’octet appropriée. Pour les messages envoyés de l’appareil à l’hôte, ce remplissage doit faire en sorte que chaque REMOTE_NDIS_PACKET_MSG commence à un décalage d’octet qui est un multiple de 8 octets à partir du début du message multipacket. Lorsque l’hôte envoie un message multipacket à l’appareil, il adhère au PacketAlignmentFactor spécifié par l’appareil.

Le format REMOTE_NDIS_PACKET_MSG est défini dans le tableau suivant.

Offset Taille Champ Description

0

4

MessageType

Spécifie le type de message envoyé. Définissez sur 0x1.

4

4

MessageLength

Longueur du message en octets, y compris les données de paquets ajoutées, les données OOB, les données d’informations par paquet et le remplissage interne et externe.

8

4

DataOffset

Spécifie le décalage en octets entre le début du champ DataOffset de ce message et le début des données. Il s’agit d’un multiple entier de 4.

12

4

DataLength

Spécifie le nombre d’octets dans le contenu de données de ce message.

16

4

OOBDataOffset

Spécifie le décalage en octets du premier enregistrement de données OOB à partir du début du champ DataOffset de ce message. Définissez sur zéro s’il n’y a pas de données OOB. Sinon, il s’agit d’un multiple entier de 4.

20

4

OOBDataLength

Spécifie en octets la longueur totale des données OOB.

24

4

NumOOBDataElements

Spécifie le nombre d’enregistrements OOB dans ce message.

28

4

PerPacketInfoOffset

Spécifie en octets le décalage entre le début du champ DataOffset dans le message de données REMOTE_NDIS_PACKET_MSG et le début du premier enregistrement d’informations par paquet. Définissez sur zéro s’il n’y a pas de données par paquet. Sinon, il s’agit d’un multiple entier de 4.

32

4

PerPacketInfoLength

Spécifie en octets la longueur totale des informations par paquet contenues dans ce message.

36

4

VcHandle

Réservé aux appareils orientés connexion. Définit la valeur zéro.

40

4

Réservé

Réservé. Définit la valeur zéro.

Le format d’un enregistrement de données OOB unique est indiqué dans le tableau suivant.

Offset Taille Champ Description

0

4

Taille

Longueur en octets de cet en-tête OOB et ajout des données OOB et du remplissage. Il s’agit d’un multiple entier de 4.

4

4

Type

Aucun défini pour les appareils 802.3.

8

4

ClassInformationOffset

Décalage d’octet entre le début de cet enregistrement de données OOB et le début des données OOB.

(N)

...

Données OOB

Données OOB ; Pour plus d’informations, consultez la documentation du Kit de développement de pilotes Microsoft Windows (DDK).

La note (N) est égale à la valeur de ClassInformationOffset.

Le tableau suivant définit le format d’un enregistrement de données d’informations par paquet.

Offset Taille Champ Description

0

4

Taille

Longueur en octets de cet en-tête par paquet et ajout des données et du remplissage par paquet. Cette valeur est un multiple entier de 4.

4

4

Type

Définissez sur l’une des valeurs légales pour NDIS_PER_PACKET_INFO_FROM_PACKET, comme décrit dans le Kit de développement du pilote Windows 2000 (DDK).

8

4

PerPacketInformationOffset

Décalage d’octets entre le début de cet enregistrement de données d’informations par paquet et le début des données d’informations par paquet.

(N)

...

données Per-Packet

données Per-Packet ; Pour plus d’informations, consultez la documentation du DDK Windows 2000.

Remarque (N) est égal à la valeur de PerPacketInformationOffset.

Notes

Chaque REMOTE_NDIS_PACKET_MSG peut contenir un ou plusieurs enregistrements de données OOB. NumOOBDataElements indique le nombre d’enregistrements de données OOB dans ce message. Les enregistrements de données OOB doivent apparaître dans l’ordre. Le champ OOBDataLength indique la longueur en octets du bloc de données OOB entier. Le champ OOBDataOffset indique le décalage d’octets entre le début du champ DataOffset et le début du bloc de données OOB. Pour plus d’informations sur les données de paquetS OOB, consultez la spécification NDIS dans le DDK Windows 2000.

Si plusieurs blocs de données OOB sont joints à un message REMOTE_NDIS_PACKET_MSG, chaque enregistrement de données OOB suivant doit immédiatement suivre les données de l’enregistrement OOB précédent.

Aucune information OOB n’est actuellement définie pour les appareils 802.3.

Chaque REMOTE_NDIS_PACKET_MSG peut contenir un ou plusieurs enregistrements de données par paquet d’informations. Per-packet-info est utilisé pour transmettre des métadonnées de paquets, telles que la somme de contrôle TCP. Le champ PerPacketInfoOffset indique le décalage d’octets entre le début du champ DataOffset et le début de l’enregistrement de données d’informations par paquet. Le champ OOBDataLength indique la longueur d’octets de l’enregistrement de données d’informations par paquet. Pour plus d’informations sur les données d’informations par paquet, consultez le DDK Windows 2000.

S’il existe plusieurs blocs de données d’informations par paquet, chaque enregistrement de données d’informations par paquet suivant doit immédiatement suivre les données de l’enregistrement d’informations par paquet précédent.

Un appareil NDIS distant doit envoyer et recevoir des données via des paquets de données NDIS. Le bus utilisé par l’appareil détermine la façon dont ces paquets sont transmis de l’hôte à l’appareil et de l’appareil à l’hôte. Il peut s’agir de la mémoire partagée ou, dans le cas des canaux USB, Isoch et Bulk. Les paquets NDIS peuvent également contenir des données OOB (out-of-band) ainsi que les données qui transitent sur le réseau.

Un appareil NDIS distant transfère les paquets NDIS, encapsulés en tant que REMOTE_NDIS_PACKET_MSG sur le canal de données. Les appareils sans connexion (par exemple, 802.3) et orientés connexion (par exemple, ATM) utilisent la même structure de message de paquets pour faciliter le code commun pour le traitement des paquets. Chaque message REMOTE_NDIS_PACKET_MSG contient des informations sur une seule unité de données réseau (par exemple, une trame Ethernet 802.3).

Pour plus d’informations sur les données de paquets hors bande ou les données d’informations par paquet, consultez les sections NDIS du DDK Windows 2000.

Spécifications

Version

Disponible dans Microsoft Windows XP et versions ultérieures des systèmes d’exploitation Windows. Également disponible dans Windows 2000 en tant que fichiers binaires redistribuables.

En-tête

Rndis.h (inclure Rndis.h)