FILTER_DIRECT_OID_REQUEST_COMPLETE funzione di callback (ndis.h)

NDIS chiama la funzione FilterDirectOidRequestComplete per completare una richiesta OID diretta del driver di filtro che esegue query o imposta informazioni in un driver sottostante.

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

Sintassi

FILTER_DIRECT_OID_REQUEST_COMPLETE FilterDirectOidRequestComplete;

void FilterDirectOidRequestComplete(
  [in] NDIS_HANDLE FilterModuleContext,
  [in] PNDIS_OID_REQUEST OidRequest,
  [in] NDIS_STATUS Status
)
{...}

Parametri

[in] FilterModuleContext

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

[in] OidRequest

Puntatore alla struttura NDIS_OID_REQUEST passata in precedenza al driver di filtro Funzione NdisFDirectOidRequest .

[in] Status

Stato finale della richiesta impostata da un driver sottostante o NDIS. Questo parametro determina cosa fa FilterDirectOidRequestComplete con le informazioni in OidRequest . Per un elenco dei valori di stato possibili, vedere i valori restituiti di NdisFDirectOidRequest.

Valore restituito

nessuno

Osservazioni

FilterDirectOidRequestComplete è una funzione facoltativa. Se un driver di filtro non usa richieste OID dirette, può impostare il punto di ingresso per questa funzione su NULL quando chiama l'oggetto Funzione NdisFRegisterFilterDriver . Se un driver di filtro definisce una funzione FilterDirectOidRequest, deve fornire la funzione FilterDirectOidRequestComplete.

Se la funzione NdisFDirectOidRequest restituisce NDIS_STATUS_PENDING, NDIS deve chiamare la funzione FilterDirectOidRequestComplete per completare la richiesta OID.

Se un driver di filtro ha inoltrato una richiesta ricevuta nella funzione FilterDirectOidRequest ,
FilterDirectOidRequestComplete deve superare lo stato di completamento dello stack di driver chiamando il
Funzione NdisFDirectOidRequestComplete . In questo caso, il driver di filtro deve chiamare NdisFreeCloneOidRequest, per liberare la struttura di NDIS_OID_REQUEST , prima di chiamarla
NdisFDirectOidRequestComplete.

Un driver di filtro deve tenere traccia delle richieste che ha origine e assicurarsi che non chiami NdisFDirectOidRequestComplete quando NDIS chiama FilterDirectOidRequestComplete per tali richieste.

NDIS chiama FilterDirectOidRequestComplete in IRQL <= DISPATCH_LEVEL.

Esempi

Per definire una funzione FilterDirectOidRequestComplete , è prima necessario specificare 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 usando i tipi di funzione consente l'analisi del codice per i driver, il verifica driver statico (SDV) e altri strumenti di verifica trovano errori ed è un requisito per la scrittura di driver per il sistema operativo Windows.

Ad esempio, per definire una funzione FilterDirectOidRequestComplete denominata "MyDirectOidRequestComplete ", usare il tipo di FILTER_DIRECT_OID_REQUEST_COMPLETE come illustrato in questo esempio di codice:

FILTER_DIRECT_OID_REQUEST_COMPLETE MyDirectOidRequestComplete;

Implementare quindi la funzione come indicato di seguito:

_Use_decl_annotations_
VOID
 MyDirectOidRequestComplete(
    NDIS_HANDLE  FilterModuleContext,
    PNDIS_OID_REQUEST  OidRequest,
    NDIS_STATUS Status
    )
  {...}

Il tipo di funzione FILTER_DIRECT_OID_REQUEST_COMPLETE è definito nel file di intestazione Ndis.h. Per identificare in modo più accurato gli errori durante l'esecuzione degli 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 usate le annotazioni applicate al tipo di funzione FILTER_DIRECT_OID_REQUEST_COMPLETE nel file di intestazione. Per altre informazioni sui requisiti per le dichiarazioni di funzione, vedere Dichiarazione di funzioni tramite tipi di ruolo per i driver NDIS.

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

Requisiti

Requisito Valore
Client minimo supportato Supportato in NDIS 6.1 e versioni successive.
Piattaforma di destinazione Windows
Intestazione ndis.h (includere Ndis.h)
IRQL <= DISPATCH_LEVEL

Vedi anche

FilterAttach

FilterDirectOidRequest

NDIS_OID_REQUEST

NdisFDirectOidRequest

NdisFDirectOidRequestComplete

NdisFRegisterFilterDriver

NdisFreeCloneOidRequest