FILTER_CANCEL_OID_REQUEST funzione di callback (ndis.h)
NDIS chiama la funzione FilterCancelOidRequest di un driver di filtro per annullare una richiesta OID.
Sintassi
FILTER_CANCEL_OID_REQUEST FilterCancelOidRequest;
void FilterCancelOidRequest(
[in] NDIS_HANDLE FilterModuleContext,
[in] PVOID RequestId
)
{...}
Parametri
[in] FilterModuleContext
Handle per l'area di contesto per il modulo di filtro che rappresenta la destinazione di questa richiesta. Il driver di filtro ha creato e inizializzato questa area di contesto nella funzione FilterAttach .
[in] RequestId
Identificatore di annullamento per la richiesta. Questo identificatore specifica le strutture NDIS_OID_REQUEST annullate.
Valore restituito
nessuno
Osservazioni
FilterCancelOidRequest è 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 il Funzione NdisFRegisterFilterDriver .
Quando NDIS chiama FilterCancelOidRequest, il driver di filtro deve tentare di chiamare la funzione NdisFOidRequestComplete appena possibile.
I parametri della richiesta vengono definiti nella struttura NDIS_OID_REQUEST in OidRequest .
Se un driver di filtro non accoda le richieste OID, il driver non è necessario per fornire una funzione FilterCancelOidRequest . Se il driver di filtro non specifica un punto di ingresso FilterCancelOidRequest , NDIS chiama la funzione di richiesta OID annulla del driver sottostante.
NDIS chiama la funzione FilterCancelOidRequest quando l'origine della richiesta annulla la richiesta o quando scade il timeout specificato al momento della scadenza del membro Timeout .
Se l'elaborazione della richiesta non è ancora stata completata in un driver di filtro, il driver chiama la funzione NdisFOidRequestComplete con lo stato impostato su NDIS_STATUS_REQUEST_ABORTED.
Se il driver di filtro ha inoltrato la richiesta a un driver sottostante e l'elaborazione non è ancora stata completata, il driver di filtro chiama la funzione NdisFCancelOidRequest con il parametro OidRequest impostato sul valore inviato al driver sottostante.
NDIS chiama FilterCancelOidRequest in IRQL <= DISPATCH_LEVEL.
Esempi
Per definire una funzione FilterCancelOidRequest , è 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 FilterCancelOidRequest denominata "MyCancelOidRequest", usare il tipo di FILTER_CANCEL_OID_REQUEST , come illustrato nell'esempio di codice seguente:
FILTER_CANCEL_OID_REQUEST MyCancelOidRequest;
Implementare quindi la funzione come segue:
_Use_decl_annotations_
VOID
MyCancelOidRequest(
NDIS_HANDLE FilterModuleContext,
PVOID RequestId
)
{...}
Il tipo di funzione FILTER_CANCEL_OID_REQUEST è 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 assicura che vengano utilizzate le annotazioni applicate al tipo di funzione FILTER_CANCEL_OID_REQUEST 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
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