NDIS_SWITCH_SET_NET_BUFFER_LIST_SOURCE di callback (ndis.h)

La funzione SetNetBufferListSource imposta l'identificatore della porta di origine del commutatore estendibile Hyper-V e l'indice della scheda di rete per un pacchetto specificato da una NET_BUFFER_LIST di rete.

Sintassi

NDIS_SWITCH_SET_NET_BUFFER_LIST_SOURCE NdisSwitchSetNetBufferListSource;

NDIS_STATUS NdisSwitchSetNetBufferListSource(
  [in] NDIS_SWITCH_CONTEXT NdisSwitchContext,
       PNET_BUFFER_LIST NetBufferList,
  [in] NDIS_SWITCH_PORT_ID PortId,
  [in] NDIS_SWITCH_NIC_INDEX NicIndex
)
{...}

Parametri

[in] NdisSwitchContext

Valore NDIS_SWITCH_CONTEXT che contiene l'handle del modulo del commutatore estendibile a cui è collegata l'estensione del commutatore estendibile Hyper-V. Quando l'estensione chiama NdisFGetOptionalSwitchHandlers, questo handle viene restituito tramite il parametro NdisSwitchContext .

NetBufferList

Puntatore a una struttura NET_BUFFER_LIST per un singolo pacchetto.

Nota Questa struttura deve contenere un contesto di inoltro del commutatore estendibile allocato in precedenza chiamando la funzione AllocateNetBufferListForwardingContext . Per altre informazioni sul contesto di inoltro del commutatore estendibile, vedere Contesto di inoltro del commutatore estendibile Hyper-V.

[in] PortId

Valore NDIS_SWITCH_PORT_ID che specifica l'identificatore univoco della porta di origine nel commutatore estendibile.

[in] NicIndex

Valore NDIS_SWITCH_NIC_INDEX che specifica l'indice della scheda di rete connessa alla porta del commutatore estendibile specificata dal parametro PortId .

Per altre informazioni sui valori NDIS_SWITCH_NIC_INDEX, vedere Valori di indice della scheda di rete.

Nota Questo parametro deve specificare il valore di indice di una scheda di rete che si trova in uno stato connesso. Non è possibile specificare valori di indice per le schede di rete in uno stato creato o disconnesso. Per altre informazioni sugli stati di connessione di rete, vedere Porta del commutatore estendibile Hyper-V e Stati della scheda di rete.

Valore restituito

Se la chiamata ha esito positivo, la funzione restituisce NDIS_STATUS_SUCCESS. In caso contrario, restituisce NDIS_STATUS_ codice di errore Xxx definito in Ndis.h.

Commenti

L'estensione del commutatore estendibile chiama la funzione SetNetBufferListSource per impostare l'identificatore di porta di origine e l'indice della scheda di rete nella struttura NET_BUFFER_LIST di un pacchetto. L'estensione esegue questa operazione per i tipi di pacchetti seguenti:

  • Nuovo pacchetto allocato dall'estensione per le operazioni di invio o ricezione.
    Nota Prima che l'estensione chiami SetNetBufferListSource per un pacchetto allocato, deve chiamare AllocateNetBufferListForwardingContext.
  • Pacchetto duplicato clonato dall'estensione da un pacchetto originale che stava filtrando. L'estensione duplica un pacchetto chiamando NdisAllocateCloneNetBufferList.
In entrambi i casi, un pacchetto nuovo o duplicato avrà l'identificatore di porta di origine impostato su NDIS_SWITCH_DEFAULT_PORT_ID e l'indice della scheda di rete di origine impostato su NDIS_SWITCH_DEFAULT_NIC_INDEX. L'estensione chiama la funzione SetNetBufferListSource per modificare l'identificatore di porta di origine e l'indice della scheda di rete nella struttura NET_BUFFER_LIST pacchetto.

Ad esempio, un pacchetto con un identificatore di porta di origine NDIS_SWITCH_DEFAULT_PORT_ID è attendibile e ignora molti criteri di porta del commutatore estendibile. Questi criteri includono gli elenchi di controllo di accesso (ACL) e la qualità del servizio (QoS). Se l'estensione specifica una porta di origine non predefinita per il pacchetto, consente l'applicazione dei criteri per tale porta al pacchetto.

Nota Poiché i pacchetti con un identificatore di porta di origine NDIS_SWITCH_DEFAULT_PORT_ID sono attendibili, l'estensione deve usare con attenzione questo identificatore di porta di origine quando ha origine il traffico dei pacchetti. Per altre informazioni sull'uso consigliato del NDIS_SWITCH_DEFAULT_PORT_ID per le porte di origine, vedere Gestione dei dati delle porte di origine del commutatore estendibile Hyper-V.
Per altre informazioni sulle operazioni di invio e ricezione di pacchetti, vedere Filtrare le operazioni di invio e ricezione del modulo.

Requisiti

   
Client minimo supportato Supportato in NDIS 6.30 e versioni successive.
Piattaforma di destinazione Desktop
Intestazione ndis.h (includere Ndis.h)
IRQL <= DISPATCH_LEVEL

Vedi anche

AllocateNetBufferListForwardingContext

NET_BUFFER

NET_BUFFER_LIST

NdisAllocateCloneNetBufferList

NdisFGetOptionalSwitchHandlers