Compartilhar via


NDIS_SWITCH_REPORT_FILTERED_NET_BUFFER_LISTS função de retorno de chamada (ndis.h)

A função ReportFilteredNetBufferLists relata um ou mais pacotes de rede que foram descartados ou excluídos da entrega de porta pela extensão de comutador extensível. Cada pacote de rede é definido por meio de uma estrutura NET_BUFFER_LIST .

Sintaxe

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
)
{...}

Parâmetros

[in] NdisSwitchContext

Um valor NDIS_SWITCH_CONTEXT que contém o identificador do módulo de comutador extensível ao qual a extensão do comutador extensível do Hyper-V está anexada. Quando a extensão chama NdisFGetOptionalSwitchHandlers, esse identificador é retornado por meio do parâmetro NdisSwitchContext .

[in] ExtensionGuid

Um ponteiro para uma estrutura UNICODE_STRING que contém o GUID da extensão. O NDIS especifica esse GUID no membro FilterModuleGuidName da estrutura NDIS_FILTER_ATTACH_PARAMETERS . O NDIS passa um ponteiro para essa estrutura no parâmetro AttachParameters quando chama a função FilterAttach da extensão.

[in] ExtensionFriendlyName

Um ponteiro para uma estrutura UNICODE_STRING que contém o nome amigável da extensão. Esse nome é definido pela entrada DisplayName na Diretiva AddService do arquivo INF da extensão.

[in] PortId

Um valor NDIS_SWITCH_PORT_ID que especifica uma porta de comutador extensível. Para obter mais informações, consulte a seção Comentários.

[in] Flags

Um valor UINT32. Quando o sinalizador NDIS_SWITCH_REPORT_FILTERED_NBL_FLAGS_IS_INCOMING é especificado, ele indica que o membro PortId define a origem do pacote descartado. Quando não for especificado, o membro PortId definirá a porta de comutador extensível de destino. Para obter mais informações, consulte a seção Comentários.

[in] NumberOfNetBufferLists

Um valor UINT32 que contém o número de estruturas NET_BUFFER_LIST especificadas pelo parâmetro NetBufferLists .

[in] NetBufferLists

Um ponteiro para uma lista vinculada de estruturas de NET_BUFFER_LIST .

[in, optional] FilterReason

Um ponteiro para uma estrutura UNICODE_STRING que contém uma descrição amigável do motivo da remoção ou exclusão dos pacotes. Para obter mais informações, consulte a seção Comentários.

Retornar valor

Nenhum

Comentários

Quando a extensão exclui a entrega de um pacote para uma porta de comutador extensível, ela deve chamar ReportFilteredNetBufferLists. Quando essa função é chamada, o módulo de comutador extensível incrementa contadores e registra eventos para os pacotes descartados ou excluídos. Quando ele registra um evento para um conjunto de pacotes descartado ou excluído, o módulo de comutador extensível usa a descrição amigável especificada pelo parâmetro FilterReason .

A extensão pode excluir a entrega de um pacote das seguintes maneiras:

A extensão deve seguir estas diretrizes ao chamar ReportFilteredNetBufferLists:
  • O parâmetro NetBufferLists especificou uma lista vinculada de estruturas de NET_BUFFER_LIST . Todos os pacotes especificados por essas estruturas devem ter sido recebidos ou enviados para a mesma porta e foram descartados ou excluídos pelo mesmo motivo.
  • Se o pacote estiver sendo descartado devido à política com base na porta de origem, o sinalizador NDIS_SWITCH_REPORT_FILTERED_NBL_FLAGS_IS_INCOMING deverá ser especificado. A extensão também deve definir o parâmetro PortId como o identificador da porta da qual o pacote foi recebido.
  • Se o pacote estiver sendo descartado devido à política com base na porta de destino, o sinalizador NDIS_SWITCH_REPORT_FILTERED_NBL_FLAGS_IS_INCOMING não deverá ser especificado. A extensão também deve definir o parâmetro PortId como o identificador da porta para a qual o pacote deveria ser enviado.

Requisitos

Requisito Valor
Cliente mínimo com suporte Com suporte no NDIS 6.30 e posterior.
Plataforma de Destino Área de Trabalho
Cabeçalho ndis.h (inclua Ndis.h)
IRQL <= DISPATCH_LEVEL

Confira também

FilterAttach

Diretiva INF AddService

NDIS_FILTER_ATTACH_PARAMETERS

NDIS_SWITCH_PORT_DESTINATION

NET_BUFFER_LIST

NdisFGetOptionalSwitchHandlers

UNICODE_STRING