funzione FILTER_SYNCHRONOUS_OID_REQUEST_COMPLETE (ndis.h)
NDIS chiama la funzione FilterSynchronousOidRequestComplete del driver di filtro dopo il completamento di una richiesta OID sincrona da un driver sottostante.
Questa funzione è supportata in NDIS 6.81 e versioni successive.
Sintassi
void FILTER_SYNCHRONOUS_OID_REQUEST_COMPLETE(
[in] NDIS_HANDLE FilterModuleContext,
[in, out] NDIS_OID_REQUEST *OidRequest,
[in, out] NDIS_STATUS *Status,
[in] PVOID CallContext
);
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, out] OidRequest
Puntatore a una struttura NDIS_OID_REQUEST che specifica l'operazione da completare.
[in, out] Status
Puntatore al codice di stato risultante della richiesta completata.
[in] CallContext
Uno slot di archiviazione di dimensioni PVOID per il driver di filtro per condividere lo stato tra i gestori FilterSynchronousOidRequest e FilterSynchronousOidRequestComplete . Se il driver di filtro implementa un gestore FilterSynchronousOidRequest , questo parametro contiene il valore di contesto restituito dal gestore FilterSynchronousOidRequest . In caso contrario, se il driver del filtro non implementa un gestore FilterSynchronousOidRequest , questo valore è zero.
Valore restituito
nessuno
Osservazioni
FilterSynchronousOidRequestComplete è una funzione facoltativa. Se un driver di filtro non deve osservare o modificare le richieste OID sincrone completate dal driver miniport, il driver di filtro deve impostare il punto di ingresso per questa funzione su NULL quando chiama NdisFRegisterFilterDriver.
NDIS chiama la funzione FilterSynchronousOidRequestComplete del driver di filtro per elaborare le richieste OID sincrone completate dai driver sottostanti. I driver di filtro possono leggere o modificare alcuni campi nella struttura NDIS_OID_REQUEST come indicato di seguito:
Campo | Filtrare l'accesso |
---|---|
Intestazione | Sola lettura |
RequestType | Lettura/Scrittura |
PortNumber | Lettura/Scrittura |
Timeout | Non accedere |
RequestId | Non accedere |
Requesthandle | Lettura/Scrittura |
DATA | Lettura/Scrittura |
NdisReserved | Non accedere |
MiniportReserved | Non accedere |
SourceReserved | Non accedere |
SupportedRevision | Lettura/Scrittura |
Reserved1, Reserved2 | Non accedere |
SwitchId | Lettura/Scrittura |
VPortId | Lettura/Scrittura |
Flags | Lettura/Scrittura |
Oltre a modificare la struttura NDIS_OID_REQUEST , i driver di filtro possono leggere o modificare il codice di stato con cui l'operazione è stata completata. Il driver di filtro può scrivere un nuovo valore nel parametro *Status . I driver di filtro non devono scrivere NDIS_STATUS_PENDING o NDIS_STATUS_ALREADY_COMPLETE nel parametro *Status .
Se il driver del filtro registra anche un gestore FilterSynchronousOidRequest , NDIS garantisce che il gestore FilterSynchronousOidRequestComplete venga chiamato se e solo se il gestore FilterSynchronousOidRequest restituisce NDIS_STATUS_SUCCESS.
È previsto che i driver di filtro vengano restituiti dal gestore FilterSynchronousOidRequestComplete rapidamente, senza bloccare, attendere o dormire. Le richieste OID sincrone vengono usate solo per le operazioni a bassa latenza e i driver di filtro devono cercare di continuare o completarli entro diversi millisecondi.
NDIS non serializza le richieste OID sincrone tra loro, rispetto ad altre richieste OID o a FilterPause. È responsabilità del driver di filtro implementare qualsiasi sincronizzazione necessaria.
NDIS serializza le richieste OID sincrone su FilterDetach: NDIS garantisce che nessuna richiesta OID sincrona sarà attiva una volta richiamato FilterDetach .
I driver di filtro non devono chiamare NdisAllocateCloneOidRequest o NdisCancelOidRequest in una richiesta OID sincrona. I driver di filtro non devono chiamare NdisFSynchronousOidRequest su una richiesta OID ricevuta tramite un gestore FilterSynchronousOidRequestComplete .
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 10, versione 1709 |
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