NDIS_SWITCH_UPDATE_NET_BUFFER_LIST_DESTINATIONS Rückruffunktion (ndis.h)
Die erweiterbare Hyper-V-Switch-Erweiterung ruft die UpdateNetBufferListDestinations-Funktion auf, um Änderungen zu committen, die die Erweiterung an einem Paket vorgenommen hat, das mehrere erweiterbare Switchzielports enthält. Die Funktion speichert diese Änderungen im erweiterbaren OOB(Out-of-Band)-Switchweiterleitungskontext der NET_BUFFER_LIST Struktur des Pakets.
Syntax
NDIS_SWITCH_UPDATE_NET_BUFFER_LIST_DESTINATIONS NdisSwitchUpdateNetBufferListDestinations;
NDIS_STATUS NdisSwitchUpdateNetBufferListDestinations(
[in] NDIS_SWITCH_CONTEXT NdisSwitchContext,
[in, out] PNET_BUFFER_LIST NetBufferList,
[in] UINT32 NumberOfNewDestinations,
[in] 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 Parameter NdisSwitchContext zurückgegeben.
[in, out] NetBufferList
Ein Zeiger auf eine NET_BUFFER_LIST-Struktur für ein einzelnes Paket.
[in] NumberOfNewDestinations
Ein UINT32-Wert, der die Anzahl der neuen Zielports angibt, die dem Paket hinzugefügt wurden.
[in] 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ückgegeben wird, 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.
Nachdem die Erweiterung die NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY-Struktur abgerufen hat, kann die Erweiterung die folgenden Aktionen ausführen:
-
Fügen Sie dem Array zusätzliche NDIS_SWITCH_PORT_DESTINATION-Elemente hinzu.
Weitere Informationen finden Sie unter Hinzufügen von Extensible Switch-Zielportdaten zu einem Paket.
-
Ändern Sie vorhandene NDIS_SWITCH_PORT_DESTINATION Elemente des Arrays, um auszuschließen, dass ein Paket an einen angegebenen Port weitergeleitet wird.
Weitere Informationen finden Sie unter Ausschließen der Paketübermittlung an extensible Switch-Zielports.
Außerdem können nach dem Commit der Änderungen für Zielports Zielports nicht entfernt werden, und nur das IsExcluded-Mitglied der NDIS_SWITCH_PORT_DESTINATION Struktur eines Zielports kann geändert werden. Weitere Informationen finden Sie unter Ausschließen der Paketübermittlung an extensible Switch-Zielports.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Unterstützt in NDIS 6.30 und höher. |
Zielplattform | Desktop |
Kopfzeile | ndis.h (einschließlich Ndis.h) |
IRQL | <= DISPATCH_LEVEL |
Weitere Informationen