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.
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
NdisFDirectOidRequestCompleteCommenti 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