Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
REMOTE_NDIS_PACKET_MSG kapselt NDIS-Datenpakete, um eine einzelne Datennachricht zu bilden.
Das Verketten mehrerer REMOTE_NDIS_PACKET_MSG Elemente bildet eine Multipacket-Nachricht. Jede einzelne REMOTE_NDIS_PACKET_MSG Komponente wird wie unten beschrieben erstellt. Der Unterschied zur Einzelpaketnachricht besteht darin, dass das MessageLength-Feld in jedem REMOTE_NDIS_PACKET_MSG Header einige zusätzliche Abstandsbytes enthält. Diese Abstandsbytes werden an alle, aber die letzte REMOTE_NDIS_PACKET_MSG angefügt, sodass die nachfolgenden REMOTE_NDIS_PACKET_MSG an einer entsprechenden Bytegrenze beginnen. Bei Nachrichten, die vom Gerät an den Host gesendet werden, sollte dieser Abstand zu jedem REMOTE_NDIS_PACKET_MSG führen, der mit einem Byte-Offset beginnt, das ein Vielfaches von 8 Byte ab dem Anfang der Multipacket-Nachricht ist. Wenn der Host eine Multipacket-Nachricht an das Gerät sendet, entspricht er dem PacketAlignmentFactor-, den das Gerät angibt.
Das REMOTE_NDIS_PACKET_MSG-Format ist in der folgenden Tabelle definiert.
| Offset | Größe | Feld | Beschreibung |
|---|---|---|---|
0 |
4 |
MessageType |
Gibt den Typ der gesendeten Nachricht an. Auf 0x1 festgelegt. |
4 |
4 |
MessageLength |
Nachrichtenlänge in Bytes, einschließlich angefügter Paketdaten, OOB-Daten, Daten pro Paket und sowohl interner als auch externer Abstand. |
8 |
4 |
DataOffset |
Gibt den Offset in Bytes vom Anfang des DataOffset-Felds dieser Nachricht bis zum Anfang der Daten an. Dies ist ein ganzzahliges Vielfaches von 4. |
12 |
4 |
DataLength |
Gibt die Anzahl der Bytes im Dateninhalt dieser Nachricht an. |
16 |
4 |
OOBDataOffset |
Gibt den Offset in Byte des ersten OOB-Datensatzes vom Anfang des DataOffset- Felds dieser Nachricht an. Wird auf Null festgelegt, wenn keine OOB-Daten vorhanden sind. Andernfalls ist dies eine ganze Zahl von 4. |
20 |
4 |
OOBDataLength |
Gibt in Bytes die Gesamtlänge der OOB-Daten an. |
24 |
4 |
NumOOBDataElements |
Gibt die Anzahl der OOB-Einträge in dieser Nachricht an. |
28 |
4 |
PerPacketInfoOffset |
Gibt in Bytes den Offset vom Anfang des DataOffset-felds in der REMOTE_NDIS_PACKET_MSG-Datennachricht bis zum Anfang des ersten Datendatensatzes pro Paket an. Wird auf Null festgelegt, wenn pro Paket keine Daten vorhanden sind. Andernfalls ist dies eine ganze Zahl von 4. |
32 |
4 |
PerPacketInfoLength |
Gibt in Bytes die Gesamtlänge der in dieser Nachricht enthaltenen Informationen pro Paket an. |
36 |
4 |
VcHandle |
Für verbindungsorientierte Geräte reserviert. Auf Null festgelegt. |
40 |
4 |
Reserviert |
Reserviert. Auf Null festgelegt. |
Das Format eines einzelnen OOB-Datensatzes wird in der folgenden Tabelle angegeben.
| Offset | Größe | Feld | Beschreibung |
|---|---|---|---|
0 |
4 |
Größe |
Länge in Byte dieses OOB-Headers und angefügte OOB-Daten und -Abstände. Dies ist ein ganzzahliges Vielfaches von 4. |
4 |
4 |
Art |
Keine für 802.3-Geräte definiert. |
8 |
4 |
ClassInformationOffset |
Der Byteoffset vom Anfang dieses OOB-Datensatzes bis zum Anfang der OOB-Daten. |
(N) |
... |
OOB-Daten |
OOB-Daten; weitere Informationen finden Sie in der Dokumentation zu Microsoft Windows Driver Development Kit (DDK). |
Note (N) ist gleich dem Wert ClassInformationOffset.
In der folgenden Tabelle wird das Format eines Datendatensatzes pro Paket definiert.
| Offset | Größe | Feld | Beschreibung |
|---|---|---|---|
0 |
4 |
Größe |
Länge in Byte dieses Paketheaders und angefügte Daten pro Paket und Abstand. Dieser Wert ist eine ganze Zahl von 4. |
4 |
4 |
Art |
Legen Sie einen der gesetzlichen Werte für NDIS_PER_PACKET_INFO_FROM_PACKET fest, wie im Windows 2000 Driver Development Kit (DDK) beschrieben. |
8 |
4 |
PerPacketInformationOffset |
Der Byteoffset vom Anfang dieses Datendatensatzes pro Paket bis zum Anfang der Daten pro Paket. |
(N) |
... |
Per-Packet Daten |
Per-Packet Daten; Weitere Informationen finden Sie in der Windows 2000 DDK-Dokumentation. |
Note (N) ist gleich dem Wert PerPacketInformationOffset.
Bemerkungen
Jede REMOTE_NDIS_PACKET_MSG kann eine oder mehrere OOB-Datensätze enthalten. NumOOBDataElements gibt die Anzahl der OOB-Datensätze in dieser Nachricht an. Die OOB-Datensätze müssen sequenziert angezeigt werden. Das OOBDataLength Feld gibt die Länge in Bytes des gesamten OOB-Datenblocks an. Das OOBDataOffset Feld gibt den Byteoffset-Offset vom Anfang des DataOffset- felds bis zum Anfang des OOB-Datenblocks an. Weitere Informationen zu OOB-Paketdaten finden Sie in der NDIS-Spezifikation in Windows 2000 DDK.
Wenn mehrere OOB-Datenblöcke an eine REMOTE_NDIS_PACKET_MSG Nachricht angefügt sind, muss jeder nachfolgende OOB-Datensatz sofort den Daten des vorherigen OOB-Datensatzes folgen.
Für 802.3-Geräte sind derzeit keine OOB-Informationen definiert.
Jede REMOTE_NDIS_PACKET_MSG kann einen oder mehrere Datensätze pro Paketinformationen enthalten. Pro Paketinformationen wird verwendet, um Paketmetadaten zu übermitteln, z. B. TCP-Prüfsumme. Das PerPacketInfoOffset Feld gibt den Byteoffset-Offset vom Anfang des DataOffset- felds bis zum Anfang des Datendatensatzes pro Paket an. Das OOBDataLength-feld gibt die Bytelänge des Datensatzes pro Paketinformation an. Weitere Informationen zu Paketinformationen finden Sie unter Windows 2000 DDK.
Wenn mehrere Datenblöcke pro Paket vorhanden sind, muss jeder nachfolgende Datendatensatz pro Paket sofort den Datendatensatz pro Paket folgen.
Ein Remote-NDIS-Gerät muss Daten über NDIS-Datenpakete senden und empfangen. Der vom Gerät verwendete Bus bestimmt, wie diese Pakete vom Host an das Gerät und das Gerät an den Host übergeben werden. Es könnte freigegebener Speicher oder im Falle von USB-, Isoch- und Bulk-Rohren verwendet werden. NDIS-Pakete können auch Out-of-Band-Daten (OOB) sowie die Daten enthalten, die über das Netzwerk übertragen werden.
Ein Remote-NDIS-Gerät überträgt NDIS-Pakete, die als REMOTE_NDIS_PACKET_MSG über den Datenkanal gekapselt werden. Sowohl verbindungslose Geräte (z. B. 802.3) als auch verbindungsorientierte Geräte (z. B. ATM) verwenden dieselbe Paketnachrichtenstruktur, um gemeinsamen Code für die Paketverarbeitung zu vereinfachen. Jede REMOTE_NDIS_PACKET_MSG Nachricht enthält Informationen über eine einzelne Netzwerkdateneinheit (z. B. einen Ethernet 802.3-Frame).
Weitere Informationen zu Out-of-Band-Paketdaten oder Daten pro Paket finden Sie in den Windows 2000 DDK NDIS-Abschnitten.
Anforderungen
Version |
Verfügbar in Microsoft Windows XP und höheren Versionen der Windows-Betriebssysteme. Auch in Windows 2000 als verteilbare Binärdateien verfügbar. |
Kopfball |
Rndis.h (include Rndis.h) |