Funzione NdisSynchronousOidRequest (ndis.h)
I driver del protocollo chiamano la funzione NdisSynchronousOidRequest per originare una nuova richiesta OID sincrona e rilasciarla ai driver sottostanti.
Sintassi
NDIS_STATUS NdisSynchronousOidRequest(
[in] NDIS_HANDLE NdisBindingHandle,
[in] NDIS_OID_REQUEST *OidRequest
);
Parametri
[in] NdisBindingHandle
Handle restituito dalla funzione NdisOpenAdapterEx che identifica l'adattatore miniport di destinazione nell'associazione.
[in] OidRequest
Puntatore a una struttura NDIS_OID_REQUEST che specifica l'operazione richiesta con un determinato codice OID_Xxx . La struttura può specificare una query OID, un set o una richiesta di metodo.
Valore restituito
Il driver sottostante determina quale codice NDIS_STATUS_XXXNdisSynchronousOidRequest restituisce, ma in genere è uno dei valori seguenti:
Codice restituito | Descrizione |
---|---|
|
Operazione di richiesta completata correttamente. |
|
Il codice OID_Xxx specificato nel membro OID del buffer strutturato NDIS_OID_REQUEST in OidRequest non è valido o non supportato dal driver sottostante. |
|
Il valore specificato nel membro InformationBufferLength del buffer strutturato NDIS_OID_REQUEST in OidRequest non corrisponde ai requisiti per il codice OID_Xxx specificato. Se il buffer delle informazioni era troppo piccolo, il membro BytesNeededed contiene il valore corretto per InformationBufferLength in ritorno da NdisSynchronousOidRequest. |
|
I dati forniti in InformationBuffer nella struttura NDIS_OID_REQUEST specificata non sono validi per il codice OID_Xxx specificato. |
|
Il driver sottostante non supporta l'operazione richiesta. |
|
Impossibile soddisfare la richiesta a causa di una carenza di risorse. In genere, questo valore restituito indica che un tentativo di allocare memoria non è riuscito, ma non indica necessariamente che la stessa richiesta, inviata in seguito, non sarà riuscita per lo stesso motivo. |
|
Il driver sottostante ha tentato l'operazione richiesta, in genere un set su una scheda di interfaccia di rete, ma non è riuscito. Ad esempio, un tentativo di impostare troppi indirizzi multicast potrebbe causare la restituzione di questo valore. |
|
Il driver sottostante ha avuto esito negativo sull'operazione richiesta perché un'operazione di chiusura è in corso. |
|
Il driver miniport sottostante non può soddisfare la richiesta in questo momento perché è attualmente reimpostata la scheda di interfaccia di rete interessata. La funzione ProtocolStatusEx del chiamante è stata o verrà chiamata con NDIS_STATUS_RESET_START per indicare che è in corso una reimpostazione. Questo valore restituito non indica necessariamente che la stessa richiesta, inviata in un secondo momento, non sarà riuscita per lo stesso motivo. |
|
Questo valore in genere è un valore predefinito non specifico, restituito quando nessuno dei valori NDIS_STATUS_Xxx più specifici ha causato l'esito negativo della richiesta del driver sottostante. |
Commenti
Impossibile usare la funzione NdisSynchronousOidRequest per le richieste OID generali. Per le richieste OID generali, usare invece la funzione NdisOidRequest . NdisSynchronousOidRequest può essere usato solo per gli OID supportati da NDIS per l'uso con l'interfaccia OID sincrona. La maggior parte dei driver di protocollo non deve chiamare NdisSynchronousOidRequest
I driver di protocollo non devono chiudere l'associazione dell'adattatore fino a quando non vengono completate le richieste OID sincrone originato dal driver del protocollo.
I driver di protocollo non sono necessari per implementare ProtocolOidRequestComplete o ProtocolDirectOidRequestComplete per chiamare NdisSynchronousOidRequest. Come suggerisce il nome, una richiesta OID sincrona completa sempre in modo sincrono, quindi non esiste un callback asincrono.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 10, versione 1709 |
Piattaforma di destinazione | Universale |
Intestazione | ndis.h (includere Ndis.h) |
Libreria | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |