NdisIMCopySendPerPacketInfo-Funktion (ndis.h)

Hinweis NDIS 5. x wurde veraltet und wird von NDIS 6 abgelöst. x. Informationen zur Entwicklung neuer NDIS-Treiber finden Sie unter Netzwerktreiber ab Windows Vista. Informationen zum Portieren von NDIS 5. x-Treiber auf NDIS 6. x, siehe Portieren von NDIS 5.x-Treibern zu NDIS 6.0.

NdisIMCopySendPerPacketInfo kopiert paketbezogene Informationen aus einem Paket, das von einem Treiber der oberen Ebene in ein neues Paket gesendet wurde, das an einen untergeordneten Miniporttreiber gesendet wird.

Syntax

void NdisIMCopySendPerPacketInfo(
  [out] OUT PNDIS_PACKET DstPacket,
  [in]  IN PNDIS_PACKET  SrcPacket
);

Parameter

[out] DstPacket

Zeiger auf den Zielpaketdeskriptor, in den Paketinformationen kopiert werden sollen.

[in] SrcPacket

Zeiger auf den Quellpaketdeskriptor, aus dem paketbezogene Informationen kopiert werden.

Rückgabewert

Keine

Bemerkungen

Wenn ein Zwischentreiber eine Sendeanforderung von einem Treiber der oberen Ebene an einen niedrigeren Miniporttreiber weiterleitet, ruft dieser Zwischentreiber NdisIMCopySendPerPacketInfo auf, um Paketinformationen zu kopieren. Der Zwischentreiber kopiert die Paketinformationen aus einem Paket, das vom Treiber der oberen Ebene gesendet wird, in ein neues Paket, das der Zwischentreiber an den unteren Miniporttreiber sendet. Der Zwischentreiber ruft NdisIMCopySendPerPacketInfo für jedes Paket auf, das über den Stapel gesendet wird, es sei denn, der Zwischentreiber muss die Paketinformationen pro Paket ändern.

Paketbezogene Informationen sind in einer NDIS_PACKET_EXTENSION-Struktur enthalten und enthalten z. B. Prüfsummeninformationen, Internetprotokollsicherheitsinformationen und 802.1p-Prioritätsinformationen.

Wenn ein Zwischentreiber die Paketinformationen pro Paket ändern muss, sollte dieser Zwischentreiber das makro NDIS_PER_PACKET_INFO_FROM_PACKET verwenden, um auf die Informationen zuzugreifen. Der Treiber kann dieses Makro einmal für jeden Typ von Paketinformationen aufrufen, auf die er zugreifen muss.

Treiber können auch das makro NDIS_PACKET_EXTENSION_FROM_PACKET verwenden, das einen Zeiger auf die NDIS_PACKET_EXTENSION-Struktur zurückgibt. Ein Treiber kann dieses Makro aufrufen, wenn er auf mehrere Paketinformationen zugreifen muss, die einem Paketdeskriptor zugeordnet sind. Nachdem der Zeiger auf die NDIS_PACKET_EXTENSION-Struktur abgerufen wurde, kann der Treiber den entsprechenden Arrayindex verwenden, um einen Zeiger auf einen bestimmten Typ von Paketinformationen zu erhalten.

Um einen Datenbereich aus einem Paket in ein anderes zu kopieren, verwenden Sie die Funktion NdisCopyFromPacketToPacket .

  • Zielplattform: Universell
  • Version: Wird für NDIS 6.0-Treiber in Windows Vista nicht unterstützt. Unterstützt für NDIS 5.1-Treiber in Windows Vista und Windows XP.

Anforderungen

Anforderung Wert
Header ndis.h (include Ndis.h)
Bibliothek Ndis.lib
IRQL Beliebige Ebene

Weitere Informationen