Condividi tramite


REMOTE_NDIS_PACKET_MSG

REMOTE_NDIS_PACKET_MSG incapsula i pacchetti di dati NDIS per formare un singolo messaggio di dati.

Concatenando più elementi REMOTE_NDIS_PACKET_MSG forma un messaggio multipacket. Ogni singolo componente REMOTE_NDIS_PACKET_MSG viene costruito come descritto di seguito. La differenza del messaggio a pacchetto singolo è che il campo MessageLength in ogni intestazione REMOTE_NDIS_PACKET_MSG include alcuni byte di riempimento aggiuntivi. Questi byte di riempimento vengono aggiunti a tutti, ma l'ultima REMOTE_NDIS_PACKET_MSG in modo che l'REMOTE_NDIS_PACKET_MSG riuscita inizi a un limite di byte appropriato. Per i messaggi inviati dal dispositivo all'host, questa spaziatura interna deve comportare ogni REMOTE_NDIS_PACKET_MSG a partire da un offset di byte che è un multiplo di 8 byte a partire dall'inizio del messaggio multipacket. Quando l'host invia un messaggio multipacket al dispositivo, verrà rispettato Il pacchettoAlignmentFactor specificato dal dispositivo.

Il formato REMOTE_NDIS_PACKET_MSG è definito nella tabella seguente.

Offset Dimensione Campo Descrizione

0

4

MessageType

Specifica il tipo di messaggio inviato. Impostare su 0x1.

4

4

MessageLength

Lunghezza del messaggio in byte, inclusi i dati del pacchetto accodati, i dati OOB, i dati per pacchetto e la spaziatura interna ed esterna.

8

4

DataOffset

Specifica l'offset in byte dall'inizio del campo DataOffset di questo messaggio all'inizio dei dati. Si tratta di un numero intero di 4.

12

4

Lunghezza dati

Specifica il numero di byte nel contenuto dei dati di questo messaggio.

16

4

OOBDataOffset

Specifica l'offset in byte del primo record di dati OOB dall'inizio del campo DataOffset di questo messaggio. Impostare su zero se non sono presenti dati OOB. In caso contrario, si tratta di un numero intero multiplo di 4.

20

4

OOBDataLength

Specifica in byte la lunghezza totale dei dati OOB.

24

4

NumOOBDataElements

Specifica il numero di record OOB in questo messaggio.

28

4

PerPacketInfoOffset

Specifica in byte l'offset dall'inizio del campo DataOffset nel messaggio di dati REMOTE_NDIS_PACKET_MSG all'inizio del primo record informativo per pacchetto. Impostare su zero se non sono presenti dati per pacchetto. In caso contrario, si tratta di un numero intero multiplo di 4.

32

4

PerPacketInfoLength

Specifica in byte la lunghezza totale delle informazioni per pacchetto contenute in questo messaggio.

36

4

VcHandle

Riservato ai dispositivi orientati alla connessione. Imposta su zero.

40

4

Riservato

Riservato. Imposta su zero.

Il formato di un singolo record di dati OOB è indicato nella tabella seguente.

Offset Dimensione Campo Descrizione

0

4

Dimensione

Lunghezza in byte di questa intestazione OOB e aggiunta di dati OOB e spaziatura interna. Si tratta di un numero intero di 4.

4

4

Tipo

Nessuna definita per i dispositivi 802.3.

8

4

ClassInformationOffset

Offset di byte dall'inizio di questo record di dati OOB all'inizio dei dati OOB.

(N)

...

Dati OOB

Dati OOB; per altre informazioni, consultare la documentazione di Microsoft Windows Driver Development Kit (DDK).

Nota (N) è uguale al valore di ClassInformationOffset.

La tabella seguente definisce il formato di un record di dati informativo per pacchetto.

Offset Dimensione Campo Descrizione

0

4

Dimensione

Lunghezza in byte di questa intestazione per pacchetto e aggiunta di dati per pacchetto e spaziatura interna. Questo valore è un numero intero multiplo di 4.

4

4

Tipo

Impostare su uno dei valori legali per NDIS_PER_PACKET_INFO_FROM_PACKET, come descritto in Windows 2000 Driver Development Kit (DDK).

8

4

PerPacketInformationOffset

Offset di byte dall'inizio di questo record di dati di informazioni per pacchetto all'inizio dei dati delle informazioni per pacchetto.

(N)

...

dati Per-Packet

Per-Packet dati; Per altre informazioni, vedere la documentazione di Windows 2000 DDK.

Nota (N) è uguale al valore di PerPacketInformationOffset.

Commenti

Ogni REMOTE_NDIS_PACKET_MSG può contenere uno o più record di dati OOB. NumOOBDataElements indica il numero di record di dati OOB in questo messaggio. I record di dati OOB devono essere visualizzati in sequenza. Il campo OOBDataLength indica la lunghezza in byte dell'intero blocco di dati OOB. Il campo OOBDataOffset indica l'offset dei byte dall'inizio del campo DataOffset all'inizio del blocco di dati OOB. Per altre informazioni sui dati dei pacchetti OOB, vedere la specifica NDIS in Windows 2000 DDK.

Se più blocchi di dati OOB sono collegati a un messaggio di REMOTE_NDIS_PACKET_MSG, ogni record di dati OOB successivo deve seguire immediatamente i dati del record OOB precedente.

Nessuna informazione OOB è attualmente definita per i dispositivi 802.3.

Ogni REMOTE_NDIS_PACKET_MSG può contenere uno o più record di dati per pacchetto.Each REMOTE_NDIS_PACKET_MSG may contain one or more per-packet-info data records. Le informazioni per pacchetto vengono usate per trasmettere i metadati dei pacchetti, ad esempio il checksum TCP. Il campo PerPacketInfoOffset indica l'offset di byte dall'inizio del campo DataOffset all'inizio del record di dati delle informazioni per pacchetto. Il campo OOBDataLength indica la lunghezza in byte del record di dati delle informazioni per pacchetto. Per altre informazioni sui dati relativi alle informazioni sui pacchetti, vedere Windows 2000 DDK.

Se sono presenti più blocchi di dati di informazioni per pacchetto, ogni record di dati di informazioni per pacchetto successivo deve seguire immediatamente i dati del record di informazioni per pacchetto precedente.

Un dispositivo NDIS remoto deve inviare e ricevere dati tramite pacchetti di dati NDIS. Il bus usato dal dispositivo determina il modo in cui questi pacchetti vengono passati dall'host al dispositivo e dal dispositivo all'host. Potrebbe essere condivisa memoria o, nel caso di pipe USB, Isoch e Bulk. I pacchetti NDIS possono anche contenere dati fuori banda (OOB), nonché i dati che passano attraverso la rete.

Un dispositivo NDIS remoto trasferisce pacchetti NDIS, incapsulati come REMOTE_NDIS_PACKET_MSG attraverso il canale dati. Sia i dispositivi senza connessione (ad esempio 802.3) che quelli orientati alla connessione (ad esempio ATM) usano la stessa struttura di messaggi di pacchetto per facilitare il codice comune per l'elaborazione dei pacchetti. Ogni REMOTE_NDIS_PACKET_MSG messaggio contiene informazioni su una singola unità dati di rete (ad esempio un frame Ethernet 802.3).

Per altre informazioni sui dati dei pacchetti fuori banda o sui dati per pacchetto, vedere le sezioni NDIS di Windows 2000 DDK.

Requisiti

Versione

Disponibile in Microsoft Windows XP e versioni successive dei sistemi operativi Windows. Disponibile anche in Windows 2000 come file binari ridistribuibili.

Intestazione

Rndis.h (include Rndis.h)