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 deve seguire queste linee guida quando chiama ReportFilteredNetBufferLists:
  • 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

FilterAttach

Direttiva INF AddService

NDIS_FILTER_ATTACH_PARAMETERS

NDIS_SWITCH_PORT_DESTINATION

NET_BUFFER_LIST

NdisFGetOptionalSwitchHandlers

UNICODE_STRING