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
NDIS_STATUS_SUCCESS
Operazione di richiesta completata correttamente.
NDIS_STATUS_INVALID_OID
Il codice OID_Xxx specificato nel membro OID del buffer strutturato NDIS_OID_REQUEST in OidRequest non è valido o non supportato dal driver sottostante.
NDIS_STATUS_INVALID_LENGTH o NDIS_STATUS_BUFFER_TOO_SHORT
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.
NDIS_STATUS_INVALID_DATA
I dati forniti in InformationBuffer nella struttura NDIS_OID_REQUEST specificata non sono validi per il codice OID_Xxx specificato.
NDIS_STATUS_NOT_SUPPORTED o NDIS_STATUS_NOT_RECOGNIZED
Il driver sottostante non supporta l'operazione richiesta.
NDIS_STATUS_RESOURCES
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.
NDIS_STATUS_NOT_ACCEPTED
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.
NDIS_STATUS_CLOSING o NDIS_STATUS_CLOSING_INDICATING
Il driver sottostante ha avuto esito negativo sull'operazione richiesta perché un'operazione di chiusura è in corso.
NDIS_STATUS_RESET_IN_PROGRESS
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.
NDIS_STATUS_FAILURE
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

Vedi anche

NDIS_OID_REQUEST

NdisOidRequest

NdisOpenAdapterEx

ProtocolDirectOidRequestComplete

ProtocolOidRequestComplete

ProtocolStatusEx