Condividi tramite


Funzione NdisMCmOidRequest (ndis.h)

La funzione NdisMCmOidRequest invia una richiesta OID da un driver mcm (Miniport Call Manager) 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 di VC, questo parametro è NULL. Per qualsiasi richiesta specifica di VC, il chiamante ha originariamente ottenuto questo handle quando ha creato il vc con la funzione NdisMCmCreateVc o come parametro di input per la funzione ProtocolCoCreateVc.

[in, optional] NdisPartyHandle

Handle che identifica l'entità in un vc multipoint per cui il chiamante richiede o imposta informazioni, se la richiesta è specifica dell'entità. In caso contrario, se questa richiesta non è specifica dell'entità, questo parametro è NULL. Per qualsiasi richiesta specifica dell'entità, il driver MCM ha originariamente ottenuto questo handle come parametro di input per la 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 ProtocolCoOidRequestComplete funzione al termine della richiesta.
NDIS_STATUS_INVALID_OID
Il codiceXXX OID_ specificato nel membro Oid della struttura di 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 nella InformationBufferLength membro della struttura di NDIS_OID_REQUEST in OidRequest non corrisponde ai requisiti per il codiceOID_ XXX specificato. Se il buffer delle informazioni è troppo piccolo, il membro BytesNeededed di NDIS_OID_REQUEST contiene il valore corretto per InformationBufferLength, quando viene restituito NdisMCmOidRequest.
NDIS_STATUS_INVALID_DATA
I dati forniti in InformationBuffer nella struttura di NDIS_OID_REQUEST specificata non sono validi per il codiceOID_ 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 un secondo momento, avrà esito negativo per lo stesso motivo.
NDIS_STATUS_FAILURE
Questo valore è in genere un valore predefinito non specifico che viene restituito quando non viene applicato alcun NDIS_STATUS_XXX codici di stato più specifici.
NDIS_STATUS_REQUEST_ABORTED
Il driver di destinazione ha interrotto l'elaborazione della richiesta.

Osservazioni

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 Oid membro 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 identificata dal parametro NdisAfHandle.

Dopo che MCM chiama NdisMCmOidRequest, NDIS chiama la funzione ProtocolCoOidRequest del client.

Se la richiesta del driver MCM è specifica di VC o specifica dell'entità, il driver MCM passa anche un valore null nonnull al parametro NdisVcHandle o rispettivamente NdisPartyHandle.

Se NdisMCmOidRequest restituisce NDIS_STATUS_PENDING, la richiesta viene gestita in modo asincrono e NDIS chiamerà il mcm ProtocolCoOidRequestComplete funzione 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 ID definiti da usare con NdisMCmOidRequest, vedere NDIS OID.

Fabbisogno

Requisito Valore
client minimo supportato Supportato in NDIS 6.0 e versioni successive.
piattaforma di destinazione Desktop
intestazione ndis.h (include Ndis.h)
libreria Ndis.lib
IRQL <= DISPATCH_LEVEL
regole di conformità DDI Irql_MCM_Function(ndis)

Vedere anche

NDIS_OID_REQUEST

NdisMCmCreateVc

ProtocolCmAddParty

ProtocolCmOpenAf

ProtocolCoCreateVc

ProtocolCoOidRequest

ProtocolCoOidRequestComplete