Condividi tramite


Funzione NdisMCmOidRequest (ndis.h)

La funzione NdisMCmOidRequest invia una richiesta OID da un driver di gestione chiamate miniport a un client CoNDIS.

Sintassi

NDIS_STATUS NdisMCmOidRequest(
  [in]           NDIS_HANDLE       NdisAfHandle,
  [in, optional] NDIS_HANDLE       NdisVcHandle,
  [in, optional] NDIS_HANDLE       NdisPartyHandle,
                 PNDIS_OID_REQUEST NdisOidRequest
);

Parametri

[in] NdisAfHandle

Handle che identifica la famiglia di indirizzi (AF) e in modo implicito il client, a cui viene indirizzata la richiesta OID. Il driver MCM ha originariamente ottenuto questo handle come parametro di input per la relativa funzione ProtocolCmOpenAf .

[in, optional] NdisVcHandle

Handle che identifica la connessione virtuale (VC) per cui il chiamante richiede o imposta informazioni, se la richiesta è specifica del VC. In caso contrario, se questa richiesta non è specifica DEL VC, questo parametro è NULL. Per qualsiasi richiesta specifica del VC, il chiamante ha originariamente ottenuto questo handle quando ha creato vc con la funzione NdisMCmCreateVc o come parametro di input per la relativa funzione ProtocolCoCreateVc .

[in, optional] NdisPartyHandle

Handle che identifica la parte in un vc a più punti per cui il chiamante richiede o imposta informazioni, se la richiesta è specifica per le parti. In caso contrario, se questa richiesta non è specifica per le parti, questo parametro è NULL. Per qualsiasi richiesta specifica delle parti, il driver MCM ha originariamente ottenuto questo handle come parametro di input alla relativa funzione ProtocolCmAddParty .

NdisOidRequest

Puntatore a un buffer allocato dal chiamante che contiene una struttura NDIS_OID_REQUEST .

Valore restituito

NdisMCmOidRequest restituisce uno dei valori seguenti:

Codice restituito Descrizione
NDIS_STATUS_SUCCESS
Operazione di richiesta completata correttamente.
NDIS_STATUS_PENDING
La richiesta viene gestita in modo asincrono e NDIS chiamerà il chiamante Funzione ProtocolCoOidRequestComplete al termine della richiesta.
NDIS_STATUS_INVALID_OID
Il codice OID_XXX specificato nel membro OID della struttura NDIS_OID_REQUEST nel parametro 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 della struttura di NDIS_OID_REQUEST in OidRequest non corrisponde ai requisiti per il codice OID_ XXX specificato. Se il buffer delle informazioni è troppo piccolo, il membro BytesNeeded di NDIS_OID_REQUEST contiene il valore corretto per InformationBufferLength, quando NdisMCmOidRequest restituisce.
NDIS_STATUS_INVALID_DATA
I dati forniti in InformationBuffernella 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 client 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, se inviata in seguito, avrà esito negativo per lo stesso motivo.
NDIS_STATUS_FAILURE
Questo valore in genere è un valore predefinito non specifico restituito quando non si applicano codici di stato NDIS_STATUS_ XXX più specifici.
NDIS_STATUS_REQUEST_ABORTED
Il driver di destinazione ha arrestato l'elaborazione della richiesta.

Commenti

Per avviare richieste OID ai client CoNDIS, i driver MCM chiamano la funzione NdisMCmOidRequest . Prima che un driver MCM chiami NdisMCmOidRequest, il driver alloca la memoria per la richiesta e inizializza una struttura NDIS_OID_REQUEST . McM imposta il membro Oid della struttura NDIS_OID_REQUEST con un codice OID CoNDIS.

Un driver MCM può chiamare NdisMCmOidRequest per comunicare informazioni orientate alla connessione, ad esempio una modifica degli indirizzi al client identificato dal parametro NdisAfHandle .

Dopo aver chiamato NdisMCmOidRequest, NDIS chiama la funzione ProtocolCoOidRequest del client.

Se la richiesta del driver MCM è specifica di VC o specifica della parte, il driver MCM passa anche un valore non NULL al parametro NdisVcHandle o NdisPartyHandle, rispettivamente.

Se NdisMCmOidRequest restituisce NDIS_STATUS_PENDING, la richiesta viene gestita in modo asincrono e NDIS chiamerà il MCM Funzione ProtocolCoOidRequestComplete al termine della richiesta. Se NdisMCmOidRequest restituisce qualsiasi altro stato, la richiesta viene completata quando NdisMCmOidRequest restituisce e NDIS non chiama ProtocolCoOidRequestComplete.

Per altre informazioni sugli OID definiti per l'uso con NdisMCmOidRequest, vedere NDIS OID.

Requisiti

Requisito Valore
Client minimo supportato Supportato in NDIS 6.0 e versioni successive.
Piattaforma di destinazione Desktop
Intestazione ndis.h (includere Ndis.h)
Libreria Ndis.lib
IRQL <= DISPATCH_LEVEL
Regole di conformità DDI Irql_MCM_Function(ndis)

Vedi anche

NDIS_OID_REQUEST

NdisMCmCreateVc

ProtocolCmAddParty

ProtocolCmOpenAf

ProtocolCoCreateVc

ProtocolCoOidRequest

ProtocolCoOidRequestComplete