NDIS_SWITCH_REPORT_FILTERED_NET_BUFFER_LISTS funzione di callback (ndis.h)
La funzione ReportFilteredNetBufferLists segnala uno o più pacchetti di rete eliminati o esclusi dal recapito delle porte dall'estensione del commutatore estendibile. Ogni pacchetto di rete viene definito tramite una struttura NET_BUFFER_LIST .
Sintassi
NDIS_SWITCH_REPORT_FILTERED_NET_BUFFER_LISTS NdisSwitchReportFilteredNetBufferLists;
void NdisSwitchReportFilteredNetBufferLists(
[in] NDIS_SWITCH_CONTEXT NdisSwitchContext,
[in] PUNICODE_STRING ExtensionGuid,
[in] PUNICODE_STRING ExtensionFriendlyName,
[in] NDIS_SWITCH_PORT_ID PortId,
[in] UINT32 Flags,
[in] UINT32 NumberOfNetBufferLists,
[in] PNET_BUFFER_LIST NetBufferLists,
[in, optional] PUNICODE_STRING FilterReason
)
{...}
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 .
[in] ExtensionGuid
Puntatore a una struttura UNICODE_STRING contenente il GUID dell'estensione. NDIS specifica questo GUID nel membro FilterModuleGuidName della struttura NDIS_FILTER_ATTACH_PARAMETERS . NDIS passa un puntatore a questa struttura nel parametro AttachParameters quando chiama la funzione FilterAttach dell'estensione.
[in] ExtensionFriendlyName
Puntatore a una struttura UNICODE_STRING contenente il nome descrittivo dell'estensione. Questo nome è definito dalla voce DisplayName nella direttiva AddService del file INF dell'estensione.
[in] PortId
Valore NDIS_SWITCH_PORT_ID che specifica una porta di commutatore estendibile. Per altre informazioni, vedere la sezione Osservazioni.
[in] Flags
Valore UINT32. Quando viene specificato il flag NDIS_SWITCH_REPORT_FILTERED_NBL_FLAGS_IS_INCOMING, indica che il membro PortId definisce l'origine del pacchetto eliminato. Quando non viene specificato, il membro PortId definisce la porta del commutatore estendibile di destinazione. Per altre informazioni, vedere la sezione Osservazioni.
[in] NumberOfNetBufferLists
Valore UINT32 contenente il numero di strutture NET_BUFFER_LIST specificate dal parametro NetBufferLists .
[in] NetBufferLists
Puntatore a un elenco collegato di strutture NET_BUFFER_LIST .
[in, optional] FilterReason
Puntatore a una struttura UNICODE_STRING che contiene una descrizione descrittiva del motivo dell'eliminazione o dell'esclusione dei pacchetti. Per altre informazioni, vedere la sezione Osservazioni.
Valore restituito
nessuno
Osservazioni
Quando l'estensione esclude il recapito di un pacchetto in una porta commutatore estendibile, deve chiamare ReportFilteredNetBufferLists. Quando questa funzione viene chiamata, il modulo commutatore estendibile incrementa i contatori e registra gli eventi per i pacchetti eliminati o esclusi. Quando registra un evento per un set eliminato o escluso di pacchetti, il modulo switch estendibile usa la descrizione descrittiva specificata dal parametro FilterReason .
L'estensione può escludere il recapito di un pacchetto nei modi seguenti:
- L'estensione completa il pacchetto anziché inoltrarlo tramite lo stack di driver di commutatore estendibile. Ad esempio, l'estensione può chiamare NdisFSendNetBufferListsComplete per eliminare un pacchetto controllato quando NDIS chiama la funzione FilterSendNetBufferLists .
-
L'estensione modifica le porte di destinazione per un pacchetto. Ad esempio, l'estensione deve chiamare ReportFilteredNetBufferLists se imposta il membro IsExcluded su TRUE nella struttura NDIS_SWITCH_PORT_DESTINATION per una porta di destinazione del pacchetto.
Per altre informazioni su come escludere il recapito dei pacchetti alle porte di commutatore estendibili, vedere Esclusione del recapito dei pacchetti alle porte di destinazione estendibili.
- Il parametro NetBufferLists ha specificato un elenco collegato di strutture NET_BUFFER_LIST . Tutti i pacchetti specificati da queste strutture devono essere stati ricevuti dalla stessa porta o inviati alla stessa porta e sono stati eliminati o esclusi per lo stesso motivo.
- Se il pacchetto viene eliminato a causa di criteri in base alla porta di origine, è necessario specificare il flag di NDIS_SWITCH_REPORT_FILTERED_NBL_FLAGS_IS_INCOMING. L'estensione deve anche impostare il parametro PortId sull'identificatore della porta da cui è stato ricevuto il pacchetto.
- Se il pacchetto viene eliminato a causa di criteri in base alla porta di destinazione, il flag di NDIS_SWITCH_REPORT_FILTERED_NBL_FLAGS_IS_INCOMING non deve essere specificato. L'estensione deve anche impostare il parametro PortId sull'identificatore della porta a cui inviare il pacchetto.
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
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per