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.
[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:
-
Weisen Sie Speicherplatz für zusätzliche NDIS_SWITCH_PORT_DESTINATION Elemente im Array zu.
Weitere Informationen finden Sie unter Hinzufügen von Zielportdaten für den erweiterbaren Switch zu einem Paket.
-
Ändern Sie die Zielportinformationen in den NDIS_SWITCH_PORT_DESTINATION Elementen des Arrays. Beispielsweise kann die Erweiterung angeben, an welchen Port das Paket weitergeleitet werden soll, oder kann ausschließen, dass ein Paket an einen angegebenen Port weitergeleitet wird.
Weitere Informationen finden Sie unter Ändern der Quellportdaten für den erweiterbaren Switch eines Pakets.
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