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.
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 |
---|---|
|
O driver processou com êxito o evento PnP. |
|
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
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de