Freigeben über


NDIS_SWITCH_GET_NET_BUFFER_LIST_DESTINATIONS Rückruffunktion (ndis.h)

Die GetNetBufferListDestinations--Funktion gibt die Hyper-V erweiterbaren Switch-Zielports eines Pakets zurück, das durch eine NET_BUFFER_LIST Struktur angegeben wird.

Syntax

NDIS_SWITCH_GET_NET_BUFFER_LIST_DESTINATIONS NdisSwitchGetNetBufferListDestinations;

void NdisSwitchGetNetBufferListDestinations(
  [in]      NDIS_SWITCH_CONTEXT NdisSwitchContext,
  [in, out] PNET_BUFFER_LIST NetBufferList,
  [out]     PNDIS_SWITCH_FORWARDING_DESTINATION_ARRAY *Destinations
)
{...}

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 verknüpfte Liste von NET_BUFFER_LIST Strukturen.

Hinweis Wenn der NetBufferList-Parameter einen Zeiger auf eine verknüpfte Liste mehrerer NET_BUFFER_LIST Strukturen enthält, werden die Zielports nur aus der ersten NET_BUFFER_LIST Struktur in der Liste zurückgegeben.
 

[out] Destinations

Ein Zeiger auf eine NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY Struktur. Diese Struktur gibt die erweiterbaren Switch-Zielports des Pakets an.

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 GetNetBufferListDestinations- Funktion auf, um ein Array der erweiterbaren Switch-Zielports für ein Paket abzurufen. Wenn die Funktion erfolgreich zurückgegeben wird, wird das Array über den parameter Destination abgerufen, der einen Zeiger auf eine NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY Struktur enthält. Jedes Element in diesem Array ist als NDIS_SWITCH_PORT_DESTINATION Struktur formatiert, die einen Zielport für das Paket angibt.

Wenn die Erweiterung ein Paket zuordnet, muss die Erweiterung zuerst die AllocateNetBufferListForwardingContext-funktion aufrufen, bevor sie GetNetBufferListDestinationsaufruft. Die AllocateNetBufferListForwardingContext--Funktion weist den erweiterbaren Switchweiterleitungskontext für das Paket zu. Dieser Kontext enthält die out-of-Band-Switch-Daten (Out-of-Band, OOB), die die NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY Struktur enthalten.

Weitere Informationen zum Kontext der erweiterbaren Switchweiterleitung finden Sie unter Hyper-V Extensible Switch Forwarding Context.

Nachdem die Erweiterung das Array abgerufen hat, kann dies folgende Aktionen ausführen:

Hinweis Die NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY-Struktur ist garantiert gültig, während die Erweiterung den Besitz der NET_BUFFER_LIST Struktur des Pakets behält.
 

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_DESTINATION_ARRAY

NDIS_SWITCH_PORT_DESTINATION

NET_BUFFER

NET_BUFFER_LIST

NdisFGetOptionalSwitchHandlers