NdisIMCopySendCompletePerPacketInfo-Funktion (ndis.h)
Hinweis NDIS 5. x ist veraltet und wird durch NDIS 6 ersetzt. x. Informationen zur Entwicklung neuer NDIS-Treiber finden Sie unter Netzwerktreiber ab Windows Vista. Informationen zum Portieren von NDIS 5. x Treiber für NDIS 6. x, siehe Portieren von NDIS 5.x-Treibern zu NDIS 6.0.
NdisIMCopySendCompletePerPacketInfo kopiert Paketinformationen aus einem Paket, das von einem niedrigeren Miniporttreiber zurückgegeben wird, in ein neues Paket, das an einen Treiber der oberen Ebene zurückgegeben werden soll.
Syntax
void NdisIMCopySendCompletePerPacketInfo(
[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 Paketinformationen kopiert werden.
Rückgabewert
Keine
Bemerkungen
Wenn ein Zwischentreiber die Vervollständigung einer Sendeanforderung von einem niedrigeren Miniporttreiber verarbeitet, ruft dieser zwischengeschaltete Treiber NdisIMCopySendCompletePerPacketInfo auf, um Paketinformationen zu kopieren. Der Zwischentreiber kopiert die Paketinformationen aus einem Paket, das vom unteren Miniporttreiber zurückgegeben wurde, in ein neues Paket, das der zwischengeschaltete Treiber an einen Treiber der oberen Ebene zurückgibt. Der Zwischentreiber ruft NdisIMCopySendCompletePerPacketInfo für jedes Paket auf, das über den Stapel zurückgegeben wird, es sei denn, der Zwischentreiber muss die Paketinformationen eines Pakets pro Paket ändern.
Paketbezogene Informationen sind in einer NDIS_PACKET_EXTENSION-Struktur enthalten und umfassen z. B. Prüfsummeninformationen, Internetprotokollsicherheitsinformationen und 802.1p-Prioritätsinformationen.
Wenn ein Zwischentreiber die Paketinformationen eines Pakets ä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 mehr als einen Typ von Paketinformationen zugreifen muss, die einem Paketdeskriptor zugeordnet sind. Nach dem Abrufen des Zeigers auf die NDIS_PACKET_EXTENSION-Struktur kann der Treiber den entsprechenden Arrayindex verwenden, um einen Zeiger auf einen bestimmten Typ von Paketinformationen abzurufen.
Um einen Datenbereich von einem Paket in ein anderes zu kopieren, verwenden Sie die Funktion NdisCopyFromPacketToPacket .
- Zielplattform: Universell
- Version: Nicht unterstützt für NDIS 6.0-Treiber in Windows Vista. Unterstützt für NDIS 5.1-Treiber in Windows Vista und Windows XP.
Anforderungen
Anforderung | Wert |
---|---|
Header | ndis.h (einschließlich Ndis.h) |
Bibliothek | Ndis.lib |
IRQL | Beliebige Ebene |