FILTER_NET_PNP_EVENT funzione di callback (ndis.h)

NDIS chiama la funzione FilterNetPnPEvent di un driver di filtro per notificare al driver gli eventi di Plug and Play di rete (PnP) e risparmio energia.

Nota È necessario dichiarare la funzione usando il tipo di FILTER_NET_PNP_EVENT . Per altre informazioni, vedere la sezione Esempi seguente.
 

Sintassi

FILTER_NET_PNP_EVENT FilterNetPnpEvent;

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

Parametri

[in] FilterModuleContext

Handle per l'area di contesto per il modulo di filtro. Il driver di filtro ha creato e inizializzato questa area di contesto nella funzione FilterAttach .

[in] NetPnPEventNotification

Puntatore a NET_PNP_EVENT_NOTIFICATION struttura, che descrive l'evento PnP o l'evento di Risparmio energia indicato al driver di filtro.

Valore restituito

FilterNetPnPEvent può restituire una delle opzioni seguenti:

Codice restituito Descrizione
NDIS_STATUS_SUCCESS
Il driver ha elaborato correttamente l'evento PnP.
NDIS_STATUS_FAILURE
Il driver non è riuscito all'evento PnP.
 

Il valore restituito è significativo solo quando l'evento propagato è netEventQueryPower o un evento NetEventQueryRemove . Per tutti gli altri eventi propagati, il valore restituito è sempre NDIS_STATUS_SUCCESS.

Commenti

FilterNetPnPEvent è una funzione facoltativa. Se un driver di filtro non gestisce gli eventi PnP di rete, può impostare il punto di ingresso per questa funzione su NULL quando chiama Funzione NdisFRegisterFilterDriver .

FilterNetPnPEvent è simile alla funzione ProtocolNetPEvent del driver di protocollo. Un driver di filtro può inoltrare queste notifiche ai driver eccessivamente in grado di gestirle e non inoltrarle. Per inoltrare una notifica, chiamare la funzione NdisFNetPnPEvent . Non confondere questa funzione con Funzione FilterDevicePnPEventNotify , che filtra le notifiche indirizzate allo stack ai driver sottostanti.

NDIS chiama FilterNetPnPEvent per notificare a un driver di filtro un evento PnP o Power Management che è stato generato per una scheda di interfaccia di rete sottostante. NDIS chiama la funzione FilterNetPnPEvent di ogni driver di filtro che esegue l'overly di una scheda di interfaccia di rete e quindi chiama la funzione ProtocolNetPnPEvent di ogni driver del protocollo overlying.

Quando un modulo di filtro viene inserito o eliminato da uno stack di driver, le caratteristiche dello stack potrebbero cambiare. NDIS invia un evento PnP a tutte le associazioni di protocollo interessate e a tutti i moduli di filtro per notificare la modifica. I driver di filtro devono gestire tali modifiche in modo appropriato.

NDIS chiama FilterNetPnPEvent in IRQL = PASSIVE_LEVEL.

Esempi

Per definire una funzione FilterNetPnPEvent , è innanzitutto necessario fornire una dichiarazione di funzione che identifica il tipo di funzione che si sta definendo. Windows fornisce un set di tipi di funzione per i driver. La dichiarazione di una funzione con i tipi di funzione consente di eseguire l'analisi del codice per i driver, l'SDV ( Static Driver Verifier ) e altri strumenti di verifica rilevano gli errori ed è un requisito per la scrittura dei driver per il sistema operativo Windows.

Ad esempio, per definire una funzione FilterNetPnPEvent denominata "MyNetPnPEvent", usare il tipo di FILTER_NET_PNP_EVENT come illustrato nell'esempio di codice seguente:

FILTER_NET_PNP_EVENT MyNetPnPEvent;

Implementare quindi la funzione come segue:

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

Il tipo di funzione FILTER_NET_PNP_EVENT è definito nel file di intestazione Ndis.h. Per identificare in modo più accurato gli errori quando si eseguono gli strumenti di analisi del codice, assicurarsi di aggiungere l'annotazione Use_decl_annotations alla definizione della funzione. L'annotazione Use_decl_annotations garantisce che vengano utilizzate le annotazioni applicate al tipo di funzione FILTER_NET_PNP_EVENT nel file di intestazione. Per altre informazioni sui requisiti per le dichiarazioni di funzione, vedere Dichiarazione di funzioni tramite tipi di ruolo di funzione per i driver NDIS.

Per informazioni sulle Use_decl_annotations, vedere Annotazione del comportamento della funzione.

Requisiti

Requisito Valore
Client minimo supportato Supportato in NDIS 6.0 e versioni successive.
Piattaforma di destinazione Windows
Intestazione ndis.h (include Ndis.h)
IRQL PASSIVE_LEVEL

Vedi anche

FilterAttach

FilterDevicePnPEventNotify

NET_PNP_EVENT_NOTIFICATION

NdisFNetPnPEvent

NdisFRegisterFilterDriver

ProtocolNetPnPEvent