NDIS_SWITCH_COPY_NET_BUFFER_LIST_INFO Rückruffunktion (ndis.h)
Die Hyper-V erweiterbare Switcherweiterung ruft die CopyNetBufferListInfo-Funktion auf, um den OOB-Weiterleitungskontext aus der NET_BUFFER_LIST Struktur eines Quellpakets in die NET_BUFFER_LIST Struktur eines Zielpakets zu kopieren. Dieser Kontext umfasst die Informationen zum erweiterbaren Switchquellenport und Netzwerkadapter. Die Erweiterbaren Switch-Zielportinformationen können ebenfalls kopiert werden.
Syntax
NDIS_SWITCH_COPY_NET_BUFFER_LIST_INFO NdisSwitchCopyNetBufferListInfo;
NDIS_STATUS NdisSwitchCopyNetBufferListInfo(
[in] NDIS_SWITCH_CONTEXT NdisSwitchContext,
[in, out] PNET_BUFFER_LIST DestNetBufferList,
[in] PNET_BUFFER_LIST SrcNetBufferList,
[in] UINT32 Flags
)
{...}
Parameter
[in] NdisSwitchContext
Ein NDIS_SWITCH_CONTEXT Wert, der das Handle des erweiterbaren Switchmoduls enthält, an das die Erweiterung angefügt ist. Wenn die Erweiterung NdisFGetOptionalSwitchHandlersaufruft, wird dieses Handle über den NdisSwitchContext Parameter zurückgegeben.
[in, out] DestNetBufferList
Ein Zeiger auf eine NET_BUFFER_LIST Struktur für das Zielpaket, in das der erweiterbare Switchweiterleitungskontext kopiert wird.
[in] SrcNetBufferList
Ein Zeiger auf eine NET_BUFFER_LIST Struktur für das Quellpaket, aus dem der erweiterbare Switchweiterleitungskontext kopiert wird.
[in] Flags
Ein UINT32-Wert. Wenn das NDIS_SWITCH_COPY_NBL_INFO_FLAGS_PRESERVE_DESTINATIONS Flag angegeben wird, kopiert die Funktion die erweiterbaren Switch-Zielports vom Quellpaket in das Zielpaket.
Die Daten, die in der NDIS_SWITCH_FORWARDING_DETAIL_NET_BUFFER_LIST_INFO Union des Quellpakets enthalten sind, werden immer in den erweiterbaren Switchweiterleitungskontext im Zielpaket kopiert. Diese Daten umfassen die Quellport-IDs und den Index der Netzwerkadapterverbindung, von der das Paket stammt. Abhängig von der Anzahl der erweiterbaren Switch-Zielports, die in das Zielpaket kopiert werden, wird das NumAvailableDestinations-Mitglied der NDIS_SWITCH_FORWARDING_DETAIL_NET_BUFFER_LIST_INFO Union im Zielpaket aktualisiert.
Weitere Informationen zum Weiterleitungskontext finden Sie unter Hyper-V Extensible Switch Forwarding Context.
Rückgabewert
Wenn der Aufruf erfolgreich ist, gibt die Funktion NDIS_STATUS_SUCCESS zurück. Andernfalls wird ein NDIS_STATUS_Xxx Fehlercode zurückgegeben, der in Ndis.h definiert ist.
Bemerkungen
Die erweiterbare Switcherweiterung ruft die CopyNetBufferListInfo Funktion auf, um die OOB-Daten aus einem Quellpaket in ein Zielpaket zu kopieren. Diese Daten umfassen Folgendes:
- Die Daten aus der NetBufferListInfo Array der NET_BUFFER_LIST Struktur des Quellpakets.
- Die NDIS_SWITCH_FORWARDING_DETAIL_NET_BUFFER_LIST_INFO Daten aus dem erweiterbaren Switchweiterleitungskontext des Quellpakets.
-
Die Daten für die erweiterbaren Switch-Zielports aus dem erweiterbaren Switchweiterleitungskontext des Quellpakets.
Hinweis Diese Daten werden nur kopiert, wenn das NDIS_SWITCH_COPY_NBL_INFO_FLAGS_PRESERVE_DESTINATIONS Flag angegeben ist.
-
Die Erweiterung muss zunächst eine NET_BUFFER_LIST Struktur für das Zielpaket initialisieren, das von der NET_BUFFER_LIST Struktur des Quellpakets abgeleitet ist.
Beispielsweise kann die Erweiterung NdisAllocateCloneNetBufferList- aufrufen, um eine vollständige Kopie des Quellpakets zu erstellen. Die Erweiterung kann auch NdisAllocateFragmentNetBufferList- aufrufen, um eine Kopie nur eines Fragments des Quellpakets zu erstellen. Weitere Informationen finden Sie unter Abgeleitete NET_BUFFER_LIST Strukturen.
- Die Erweiterung muss die AllocateNetBufferListForwardingContext--Funktion aufrufen, um den erweiterbaren Switchweiterleitungskontext für das Zielpaket zuzuweisen. Diese Daten werden verwendet, um die OOB-erweiterbaren Switchweiterleitungsinformationen zu speichern, z. B. die Quell- und Zielports eines Pakets.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Unterstützt in NDIS 6.30 und höher. |
Zielplattform- | Desktop |
Header- | ndis.h (include Ndis.h) |
IRQL- | <= DISPATCH_LEVEL |
Siehe auch
AllocateNetBufferListForwardingContext-
NDIS_SWITCH_FORWARDING_DETAIL_NET_BUFFER_LIST_INFO
NdisAllocateCloneNetBufferList