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.
[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:
-
Weisen Sie Platz für zusätzliche NDIS_SWITCH_PORT_DESTINATION Elemente im Array zu.
Weitere Informationen finden Sie unter Hinzufügen von Extensible Switch Destination Port Data zu einem Paket-.
-
Ändern Sie die Zielportinformationen in den NDIS_SWITCH_PORT_DESTINATION Elementen des Arrays. Die Erweiterung kann z. B. angeben, an welchen Port das Paket weitergeleitet werden soll, oder ein Paket von der Weiterleitung an einen angegebenen Port ausschließen kann.
Weitere Informationen finden Sie unter Ändern der Extensible Switch Source Port Dataeines Pakets.
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-