NDIS_SWITCH_GET_NET_BUFFER_LIST_DESTINATIONS Rückruffunktion (ndis.h)

Die GetNetBufferListDestinations-Funktion gibt die hyper-V erweiterbaren Switchzielports eines Pakets zurück, das von einer 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 erweiterbare Hyper-V-Switcherweiterung angefügt ist. Wenn die Erweiterung NdisFGetOptionalSwitchHandlers aufruft, 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 von 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 Switchzielports 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.

Hinweise

Die erweiterbare Switcherweiterung ruft die GetNetBufferListDestinations-Funktion auf, um ein Array der erweiterbaren Switchzielports für ein Paket abzurufen. Wenn die Funktion erfolgreich zurückgibt, wird das Array über den Destinations-Parameter 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 zuweist, muss die Erweiterung zuerst die AllocateNetBufferListForwardingContext-Funktion aufrufen, bevor getNetBufferListDestinations aufgerufen wird. Die AllocateNetBufferListForwardingContext-Funktion ordnet den erweiterbaren Switchweiterleitungskontext für das Paket zu. Dieser Kontext enthält die erweiterbaren Out-of-Band-Switchdaten (OOB), die die NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY-Struktur enthalten.

Weitere Informationen zum Weiterleitungskontext für erweiterbare Switches finden Sie unter Hyper-V Extensible Switch Forwarding Context.

Nachdem die Erweiterung das Array abgerufen hat, kann sie die folgenden 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
Unterstützte Mindestversion (Client) Unterstützt in NDIS 6.30 und höher.
Zielplattform Desktop
Kopfzeile ndis.h (include Ndis.h)
IRQL <= DISPATCH_LEVEL

Weitere Informationen

AllocateNetBufferListForwardingContext

NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY

NDIS_SWITCH_PORT_DESTINATION

NET_BUFFER

NET_BUFFER_LIST

NdisFGetOptionalSwitchHandlers