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

O NDIS chama a função FilterNetPnPEvent de um driver de filtro para notificar o driver de eventos de PnP (Plug and Play de rede) e Gerenciamento de Energia.

Nota Você deve declarar a função usando o tipo FILTER_NET_PNP_EVENT . Para obter mais informações, consulte a seção Exemplos a seguir.
 

Sintaxe

FILTER_NET_PNP_EVENT FilterNetPnpEvent;

NDIS_STATUS FilterNetPnpEvent(
  [in] NDIS_HANDLE FilterModuleContext,
  [in] PNET_PNP_EVENT_NOTIFICATION NetPnPEventNotification
)
{...}

Parâmetros

[in] FilterModuleContext

Um identificador para a área de contexto do módulo de filtro. O driver de filtro criou e inicializou essa área de contexto na função FilterAttach .

[in] NetPnPEventNotification

Um ponteiro para um NET_PNP_EVENT_NOTIFICATION estrutura, que descreve o evento PnP ou o evento power management que está sendo indicado para o driver de filtro.

Retornar valor

FilterNetPnPEvent pode retornar um dos seguintes:

Código de retorno Descrição
NDIS_STATUS_SUCCESS
O driver processou com êxito o evento PnP.
NDIS_STATUS_FAILURE
O driver falhou no evento PnP.
 

O valor retornado é significativo somente quando o evento propagado é um evento NetEventQueryPower ou NetEventQueryRemove . Para todos os outros eventos propagados, o valor retornado é sempre NDIS_STATUS_SUCCESS.

Comentários

FilterNetPnPEvent é uma função opcional. Se um driver de filtro não manipular eventos PnP de rede, ele poderá definir o ponto de entrada dessa função como NULL quando chamar o Função NdisFRegisterFilterDriver .

FilterNetPnPEvent é semelhante à função ProtocolNetPnPEvent de um driver de protocolo. Um driver de filtro pode encaminhar essas notificações para drivers overlying ou pode lidar com eles próprios e não encaminhá-los. Para encaminhar uma notificação, chame a função NdisFNetPnPEvent . Não confunda essa função com o Função FilterDevicePnPEventNotify , que filtra as notificações direcionadas para baixo da pilha para drivers subjacentes.

O NDIS chama FilterNetPnPEvent para notificar um driver de filtro de um evento PnP ou Power Management que foi emitido para uma NIC subjacente. O NDIS chama a função FilterNetPnPEvent de cada driver de filtro sobreposto a uma NIC e, em seguida, chama a função ProtocolNetPnPEvent de cada driver de protocolo sobreposto.

Quando um módulo de filtro é inserido ou excluído de uma pilha de driver, as características da pilha podem ser alteradas. O NDIS envia um evento PnP para todas as associações de protocolo afetadas e os módulos de filtro para notificá-los sobre essa alteração. Os drivers de filtro devem lidar com essas alterações adequadamente.

O NDIS chama FilterNetPnPEvent em IRQL = PASSIVE_LEVEL.

Exemplos

Para definir uma função FilterNetPnPEvent , primeiro você deve fornecer uma declaração de função que identifique o tipo de função que você está definindo. O Windows fornece um conjunto de tipos de função para drivers. Declarar uma função usando os tipos de função ajuda a Análise de Código para Drivers, SDV ( Verificador de Driver Estático ) e outras ferramentas de verificação a encontrar erros e é um requisito para gravar drivers para o sistema operacional Windows.

Por exemplo, para definir uma função FilterNetPnPEvent chamada "MyNetPnPEvent", use o tipo FILTER_NET_PNP_EVENT conforme mostrado neste exemplo de código:

FILTER_NET_PNP_EVENT MyNetPnPEvent;

Em seguida, implemente sua função da seguinte maneira:

_Use_decl_annotations_
NDIS_STATUS
 MyNetPnPEvent(
    NDIS_HANDLE  FilterModuleContext,
    PNET_PNP_EVENT_NOTIFICATION  NetPnPEvent
    )
  {...}

O tipo de função FILTER_NET_PNP_EVENT é definido no arquivo de cabeçalho Ndis.h. Para identificar erros com mais precisão ao executar as ferramentas de análise de código, adicione a anotação Use_decl_annotations à sua definição de função. A anotação Use_decl_annotations garante que as anotações aplicadas ao tipo de função FILTER_NET_PNP_EVENT no arquivo de cabeçalho sejam usadas. Para obter mais informações sobre os requisitos para declarações de função, consulte Declarando funções usando tipos de função de função para drivers NDIS.

Para obter informações sobre Use_decl_annotations, consulte Anotando o comportamento da função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Com suporte no NDIS 6.0 e posterior.
Plataforma de Destino Windows
Cabeçalho ndis.h (inclua Ndis.h)
IRQL PASSIVE_LEVEL

Confira também

FilterAttach

FilterDevicePnPEventNotify

NET_PNP_EVENT_NOTIFICATION

NdisFNetPnPEvent

NdisFRegisterFilterDriver

ProtocolNetPnPEvent