Freigeben über


NDIS_SWITCH_SET_NET_BUFFER_LIST_SOURCE Rückruffunktion (ndis.h)

Die SetNetBufferListSource--Funktion legt den Hyper-V erweiterbaren Switch-Portbezeichner und netzwerkadapterindex für ein Paket fest, das durch eine NET_BUFFER_LIST Struktur angegeben wird.

Syntax

NDIS_SWITCH_SET_NET_BUFFER_LIST_SOURCE NdisSwitchSetNetBufferListSource;

NDIS_STATUS NdisSwitchSetNetBufferListSource(
  [in] NDIS_SWITCH_CONTEXT NdisSwitchContext,
       PNET_BUFFER_LIST NetBufferList,
  [in] NDIS_SWITCH_PORT_ID PortId,
  [in] NDIS_SWITCH_NIC_INDEX NicIndex
)
{...}

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.

NetBufferList

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

Hinweis Diese Struktur muss einen erweiterbaren Switchweiterleitungskontext enthalten, der zuvor durch Aufrufen der funktion AllocateNetBufferListForwardingContext zugewiesen wurde. Weitere Informationen zum Kontext der erweiterbaren Switchweiterleitung finden Sie unter Hyper-V Extensible Switch Forwarding Context.
 

[in] PortId

Ein NDIS_SWITCH_PORT_ID Wert, der den eindeutigen Bezeichner des Quellports auf dem erweiterbaren Switch angibt.

[in] NicIndex

Ein NDIS_SWITCH_NIC_INDEX Wert, der den Index des Netzwerkadapters angibt, der mit dem erweiterbaren Switchport verbunden ist, der durch den parameter PortId angegeben wird.

Weitere Informationen zu NDIS_SWITCH_NIC_INDEX Werten finden Sie unter Netzwerkadapterindexwerte.

Hinweis Dieser Parameter muss den Indexwert eines Netzwerkadapters angeben, der sich in einem verbundenen Zustand befindet. Indexwerte für Netzwerkadapter, die sich in einem erstellten oder getrennten Zustand befinden, können nicht angegeben werden. Weitere Informationen zu Netzwerkverbindungszuständen finden Sie unter Hyper-V Extensible Switch Port and Network Adapter States.
 

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 SetNetBufferListSource--Funktion auf, um den Quellportbezeichner und den Netzwerkadapterindex in der NET_BUFFER_LIST Struktur eines Pakets festzulegen. Die Erweiterung führt dies für die folgenden Pakettypen aus:

  • Ein neues Paket, das die Erweiterung für Sende- oder Empfangsvorgänge zugewiesen hat.
    Hinweis Bevor die Erweiterung SetNetBufferListSource- für ein zugeordnetes Paket aufruft, muss sie AllocateNetBufferListForwardingContextaufrufen.
     
  • Ein dupliziertes Paket, das die Erweiterung aus einem ursprünglichen Paket geklont hatte, das gefiltert wurde. Die Erweiterung dupliziert ein Paket durch Aufrufen NdisAllocateCloneNetBufferList.
In beiden Fällen ist der Quellportbezeichner für ein neues oder dupliziertes Paket auf NDIS_SWITCH_DEFAULT_PORT_ID und der Index des Quellnetzwerkadapters auf NDIS_SWITCH_DEFAULT_NIC_INDEXfestgelegt. Die Erweiterung ruft die SetNetBufferListSource--Funktion auf, um den Quellportbezeichner und den Netzwerkadapterindex in der NET_BUFFER_LIST-Struktur eines Pakets zu ändern.

Beispielsweise ist ein Paket, das über einen Quellportbezeichner von NDIS_SWITCH_DEFAULT_PORT_ID verfügt, vertrauenswürdig und umgeht viele erweiterbare Switchportrichtlinien. Zu diesen Richtlinien gehören Zugriffssteuerungslisten (Access Control Lists, ACLs) und QoS (Quality of Service). Wenn die Erweiterung einen nicht standardmäßigen Quellport für das Paket angibt, können die Richtlinien für diesen Port auf das Paket angewendet werden.

Hinweis Da Pakete mit einem Quellportbezeichner von NDIS_SWITCH_DEFAULT_PORT_ID vertrauenswürdig sind, muss die Erweiterung diesen Quellportbezeichner sehr sorgfältig verwenden, wenn er paketdatenverkehr stammt. Weitere Informationen zur empfohlenen Verwendung der NDIS_SWITCH_DEFAULT_PORT_ID für Quellports finden Sie unter Managing Hyper-V Extensible Switch Source Port Data.
 
Weitere Informationen zu Paket-Sende- und Empfangsvorgängen finden Sie unter Filtermodul Send and Receive Operations.

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-

NET_BUFFER

NET_BUFFER_LIST

NdisAllocateCloneNetBufferList

NdisFGetOptionalSwitchHandlers