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 |
---|---|
|
Operazione di richiesta completata correttamente. |
|
La richiesta viene gestita in modo asincrono e NDIS chiamerà il chiamante ProtocolCoOidRequestComplete funzione al termine della richiesta. |
|
Il codiceXXX OID_ specificato nel membro Oid della struttura di NDIS_OID_REQUEST nel parametro OidRequest non è valido o non è supportato dal driver sottostante. |
|
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. |
|
I dati forniti in InformationBuffer nella struttura di NDIS_OID_REQUEST specificata non sono validi per il codiceOID_ 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 un secondo momento, avrà esito negativo per lo stesso motivo. |
|
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. |
|
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.