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 |
---|---|
|
Operazione di richiesta completata correttamente. |
|
La richiesta viene gestita in modo asincrono e NDIS chiamerà il chiamante Funzione ProtocolCoOidRequestComplete al termine della richiesta. |
|
Il codice OID_XXX specificato nel membro OID della struttura NDIS_OID_REQUEST nel parametro OidRequest non è valido o non supportato dal driver sottostante. |
|
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. |
|
I dati forniti in InformationBuffernella struttura NDIS_OID_REQUEST specificata non sono validi per il codice OID_ XXX specificato. |
|
Il driver client 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, se inviata in seguito, avrà esito negativo per lo stesso motivo. |
|
Questo valore in genere è un valore predefinito non specifico restituito quando non si applicano codici di stato NDIS_STATUS_ XXX più specifici. |
|
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) |