FILTER_OID_REQUEST_COMPLETE funzione di callback (ndis.h)
NDIS chiama la funzione FilterOidRequestComplete per completare una richiesta del driver di filtro che esegue query o imposta informazioni in un driver sottostante.
Sintassi
FILTER_OID_REQUEST_COMPLETE FilterOidRequestComplete;
void FilterOidRequestComplete(
[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 passato alla funzione NdisFOidRequest .
[in] Status
Stato finale della richiesta impostata da un driver sottostante o da NDIS. Questo parametro determina cosa fa FilterOidRequestComplete con le informazioni in OidRequest . Per un elenco dei valori di stato possibili, vedere i valori restituiti di NdisFOidRequest.
Valore restituito
nessuno
Osservazioni
FilterOidRequestComplete è una funzione facoltativa. Se un driver di filtro non usa richieste OID, può impostare il punto di ingresso per questa funzione su NULL quando chiama la funzione NdisFRegisterFilterDriver . Se un driver di filtro definisce una funzione FilterOidRequest, deve fornire la funzione FilterOidRequestComplete.
Se la funzione NdisFOidRequest restituisce NDIS_STATUS_PENDING, NDIS deve chiamare la funzione FilterOidRequestComplete per completare la richiesta OID.
Se un driver di filtro ha inoltrato una richiesta ricevuta nella funzione FilterOidRequest, FilterOidRequestComplete deve passare lo stato di completamento dello stack di driver chiamando la funzione NdisFOidRequestComplete. Il driver di filtro deve chiamare NdisFreeCloneOidRequest per liberare la struttura NDIS_OID_REQUEST, prima di chiama NdisFOidRequestComplete.
Un driver di filtro deve tenere traccia delle richieste che ha origine e assicurarsi che non chiami NdisFOidRequestComplete quando NDIS chiama FilterOidRequestComplete per tali richieste.
NDIS chiama FilterOidRequestComplete in IRQL <= DISPATCH_LEVEL.
Esempi
Per definire una funzione FilterOidRequestComplete , è prima 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 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 FilterOidRequestComplete denominata "MyOidRequestComplete ", usare il tipo di FILTER_OID_REQUEST_COMPLETE come illustrato in questo esempio di codice:
FILTER_OID_REQUEST_COMPLETE MyOidRequestComplete;
Implementare quindi la funzione come indicato di seguito:
_Use_decl_annotations_
NDIS_STATUS
MyOidRequestComplete(
NDIS_HANDLE FilterModuleContext,
PNDIS_OID_REQUEST OidRequest,
NDIS_STATUS Status
)
{...}
Il tipo di funzione FILTER_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_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.0 e versioni successive. |
Piattaforma di destinazione | Windows |
Intestazione | ndis.h (includere Ndis.h) |
IRQL | <= DISPATCH_LEVEL |
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per