Freigeben über


NDIS_SWITCH_ADD_NET_BUFFER_LIST_DESTINATION Rückruffunktion (ndis.h)

Die AddNetBufferListDestination--Funktion fügt einen einzelnen Zielport für ein Paket hinzu, das durch eine NET_BUFFER_LIST Struktur angegeben wird.

Syntax

NDIS_SWITCH_ADD_NET_BUFFER_LIST_DESTINATION NdisSwitchAddNetBufferListDestination;

NDIS_STATUS NdisSwitchAddNetBufferListDestination(
  [in]      NDIS_SWITCH_CONTEXT NdisSwitchContext,
  [in, out] PNET_BUFFER_LIST NetBufferList,
  [in]      PNDIS_SWITCH_PORT_DESTINATION Destination
)
{...}

Parameter

[in] NdisSwitchContext

Ein NDIS_SWITCH_CONTEXT Wert, der das Handle des erweiterbaren Switchmoduls enthält, an das die Hyper-V erweiterbaren Switcherweiterung angefügt ist. Wenn die Erweiterung NdisFGetOptionalSwitchHandlersaufruft, wird dieses Handle über den NdisSwitchContext Parameter zurückgegeben.

[in, out] NetBufferList

Ein Zeiger auf eine NET_BUFFER_LIST Struktur für ein Paket.

Hinweis Diese Struktur muss einen erweiterbaren Switchweiterleitungskontext enthalten. Wenn die Erweiterung das Paket erstellt oder geklont hat, muss sie diese Struktur zuvor durch Aufrufen der AllocateNetBufferListForwardingContext-Funktion zugewiesen haben.
 

[in] Destination

Ein Zeiger auf eine NDIS_SWITCH_PORT_DESTINATION Struktur. Diese Struktur gibt den erweiterbaren Zielswitchport an, an den das Paket weitergeleitet wird.

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 Erweiterungserweiterung für die Weiterleitung ruft AddNetBufferListDestination auf, um einen einzelnen erweiterbaren Switch-Zielport für ein Paket zu definieren. Die Erweiterung gibt diesen Port an, indem eine NDIS_SWITCH_PORT_DESTINATION Struktur initialisiert wird. Die Erweiterung legt den parameter Destination auf einen Zeiger auf diese Struktur fest. Weitere Informationen zum Angeben eines erweiterbaren Switch-Zielports finden Sie unter Managing Hyper-V Extensible Switch Destination Port Data.

Hinweis Aus Leistungsgründen sollte die Erweiterung nicht AddNetBufferListDestination Pakete mit mehreren Zielports aufrufen.
 
Die Erweiterung muss diese Richtlinien befolgen, bevor sie AddNetBufferListDestinationaufruft:
  • Nur Weiterleitungserweiterungen können AddNetBufferListDestination- aufrufen, um einen Zielport für ein Paket hinzuzufügen. Weitere Informationen zu dieser Art von Erweiterung finden Sie unter Forwarding Extensions.
  • Wenn die Weiterleitungserweiterung ein Paket mit einem Zielport stammt, muss die Erweiterung zuerst die AllocateNetBufferListForwardingContext-Funktion aufrufen. Diese Funktion weist den erweiterbaren Switchweiterleitungskontext für das Paket zu. Diese Daten enthalten die erweiterbaren Switchquell- und Zielports innerhalb der Out-of-Band-Informationen (OOB) für das Paket.

    Weitere Informationen zu diesem Kontext finden Sie unter Hyper-V Extensible Switch Forwarding Context.

  • Nachdem die Erweiterung die Zielportinformationen in der NDIS_SWITCH_PORT_DESTINATION-Struktur geändert hat, ruft sie AddNetBufferListDestination auf, um die Änderungen an der NET_BUFFER_LIST Struktur für das Paket zu übernehmen.
    Hinweis Aus Leistungsgründen sollte die Erweiterung nicht die UpdateNetBufferListDestinations--Funktion aufrufen, um die Änderungen für das Paket zu übernehmen.
     
Hinweis Nachdem die Weiterleitungserweiterung die Änderungen für Zielports an den Weiterleitungskontext ausgeführt hat, können Keine Zielports entfernt werden, und nur der IsExcluded Mitglied der NDIS_SWITCH_PORT_DESTINATION Struktur eines Zielports kann geändert werden. Weitere Informationen finden Sie unter Ausschließen der Paketübermittlung an extensible Switch Destination Ports.
 

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

GetNetBufferListDestinations-

NDIS_SWITCH_PORT_DESTINATION

NET_BUFFER

NET_BUFFER_LIST

NdisFGetOptionalSwitchHandlers

UpdateNetBufferListDestinations-