Condividi tramite


NDIS_SWITCH_SET_NET_BUFFER_LIST_SOURCE funzione di callback (ndis.h)

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

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 di commutatore estendibile a cui è associata l'estensione dell'estensione estendibile Hyper-V. Quando l'estensione chiama NdisFGetOptionalSwitchHandlers, questo handle viene restituito tramite il parametro NdisSwitchContext .

NetBufferList

Puntatore a una struttura di 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 di 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 in uno stato connesso. Non è possibile specificare i valori di indice per le schede di rete in uno stato creato o disconnesso. Per altre informazioni sugli stati di connessione di rete, vedere Stati della porta estendibile hyper-V e della scheda di rete.
 

Valore restituito

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

Commenti

L'estensione del commutatore estendibile chiama la funzione SetNetBufferListSource per impostare l'identificatore della 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 filtrato. L'estensione duplica un pacchetto chiamando NdisAllocateCloneNetBufferList.
In entrambi i casi, un pacchetto nuovo o duplicato avrà l'identificatore della porta di origine impostato su NDIS_SWITCH_DEFAULT_PORT_ID e sull'indice della scheda di rete di origine impostato su NDIS_SWITCH_DEFAULT_NIC_INDEX. L'estensione chiama la funzione SetNetBufferListSource per modificare l'identificatore della porta di origine e l'indice della scheda di rete nella struttura NET_BUFFER_LIST di un pacchetto.

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

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

Requisiti

Requisito Valore
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