FILTER_STATUS funzione di callback (ndis.h)

La funzione FilterStatus indica le modifiche di stato segnalate da NDIS o da un driver sottostante.

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

Sintassi

FILTER_STATUS FilterStatus;

void FilterStatus(
  [in] NDIS_HANDLE FilterModuleContext,
  [in] PNDIS_STATUS_INDICATION StatusIndication
)
{...}

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] StatusIndication

Puntatore a una struttura NDIS_STATUS_INDICATION contenente le informazioni sullo stato.

Valore restituito

nessuno

Osservazioni

FilterStatus è una funzione facoltativa. Se un driver di filtro non usa indicazioni di stato, può impostare il punto di ingresso per questa funzione su NULL quando chiama Funzione NdisFRegisterFilterDriver .

Per determinare lo stato del collegamento, usare le indicazioni sullo stato dei driver sottostanti anziché le query OID. Queste indicazioni sullo stato miglioreranno le prestazioni del sistema ed eviteranno possibili race condition.

Un driver di filtro chiama in genere la funzione NdisFIndicateStatus alla fine della relativa funzione FilterStatus per passare l'indicazione di stato ai driver overlying.

Un driver di filtro può filtrare determinate indicazioni di stato o modificare lo stato indicato. Per filtrare un'indicazione di stato, il driver semplicemente non chiama NdisFIndicateStatus.

NDIS chiama FilterStatus in IRQL <= DISPATCH_LEVEL.

Esempi

Per definire una funzione FilterStatus , è 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 FilterStatus denominata "MyStatus", usare il tipo FILTER_STATUS , come illustrato in questo esempio di codice:

FILTER_STATUS MyStatus;

Implementare quindi la funzione come segue:

_Use_decl_annotations_
VOID
 MyStatus(
    NDIS_HANDLE  FilterModuleContext,
    PNDIS_STATUS_INDICATION  StatusIndication
    )
  {...}

Il tipo di funzione FILTER_STATUS è 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_STATUS 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 <= DISPATCH_LEVEL

Vedi anche

FilterAttach

NDIS_STATUS_INDICATION

NdisFIndicateStatus

NdisFRegisterFilterDriver