Macro NdisMCmMakeCallComplete (ndis.h)

NdisMCmMakeCallComplete restituisce lo stato finale della richiesta di un client, per cui il driver MCM restituito in precedenza NDIS_STATUS_PENDING, per effettuare una chiamata in uscita.

Sintassi

void NdisMCmMakeCallComplete(
   _S_,
   _VH_,
   _PH_,
   _CC_,
   _CP_
);

Parametri

_S_

Specifica lo stato finale del tentativo di effettuare la connessione, NDIS_STATUS_SUCCESS o qualsiasi chiamante determinato NDIS_STATUS_ XXX tranne NDIS_STATUS_PENDING.

_VH_

Specifica l'handle per il vc creato dal client, che il driver MCM ottenuto come parametro di input per la funzione ProtocolCoCreateVc e, più di recente, dalla funzione CallMgrVcContext passata alla funzione ProtocolCmMakeCall .

_PH_

Specifica l'handle per la parte iniziale nel vc multipoint creato dal client, che il driver MCM ottenuto come parametro di input per la funzione ProtocolCmMakeCall . Se l'oggetto NdisVcHandle specificato rappresentava un VC da punto a punto, questo parametro era NULL.

_CC_

Specifica l'handle in un'area di contesto residente allocata dal chiamante, in cui il driver MCM gestirà le informazioni sullo stato per parti oppure questo parametro è NULL se NdisPartyHandle è NULL. Per un vc multipoint, NDIS passa questo handle CallManagerPartyContext fornito da MCM-driver in tutte le chiamate successive alle funzioni ProtocolCmXxx che riguardano questa parte. Se Status è diverso da NDIS_STATUS_SUCCESS, NDIS ignora questo parametro.

_CP_

Puntatore a una struttura di tipo CO_CALL_PARAMETERS che specifica i parametri di chiamata configurati per questa connessione se Status è NDIS_STATUS_SUCCESS.

Valore restituito

nessuno

Osservazioni

Un driver MCM deve chiamare NdisMCmMakeCallComplete con NDIS_STATUS_SUCCESS solo se è pronto per effettuare trasferimenti di dati nel VC. Vale a dire, il driver MCM ha negoziato con la rete per stabilire i parametri di chiamata per vc, configurare una scheda di interfaccia di rete per tali parametri di chiamata e chiamata NdisMCmActivateVc per notificare l'attivazione vc.

Un driver MCM deve chiamare NdisMCmMakeCallComplete se la funzione ProtocolCmMakeCall restituita in precedenza NDIS_STATUS_PENDING per l'oggetto NdisVcHandle specificato. Il client, che ha avviato la chiamata in uscita in sospeso, non può usare il vc per effettuare trasferimenti fino a quando il driver miniport chiama NdisMCmMakeCallComplete con NDIS_STATUS_SUCCESS.

Anche se la connessione tentata non è riuscita, né NDIS né il client possono rilasciare le risorse allocati per mantenere lo stato fino alla chiamata del driver MCM a NdisMCmMakeCallComplete causa una chiamata a tale client Funzione ProtocolClMakeCallComplete . In effetti, ignorando di chiamare NdisMCmMakeCallComplete per un tentativo non riuscito di configurare tale connessione causa anche una perdita di memoria nel driver MCM; impedisce al client di eliminare il vc creato per la chiamata in uscita non riuscita, quindi la funzione ProtocolCoDeleteVc del driver MCM non viene chiamata per rilasciare le risorse allocate per tale VC.

Se il driver MCM passa un errore, ad esempio NDIS_STATUS_FAILURE, per lo stato, deve considerare NdisPartyHandle, se presente, non valido quando NdisMCmMakeCallComplete restituisce il controllo. Il cm può rilasciare (o reinizializzare per il riutilizzo) qualsiasi risorsa allocata per mantenere lo stato per la determinata parte dopo che NdisMCmMakeCallComplete restituisce il controllo. La funzione ProtocolCoDeleteVc del driver MCM verrà successivamente chiamata a rilasciare tutte le risorse assegnate dal driver miniport per tenere traccia dello stato del client creato dal client ogni volta che il driver MCM passa uno stato di errore a NdisMCmMakeCallComplete.

Nel corso della configurazione di una chiamata in uscita avviata dal client, il driver MCM può modificare i parametri di chiamata forniti dal client originariamente passati alla relativa funzione ProtocolCmMakeCall . In caso affermativo, il driver MCM deve passare le modifiche nel buffer in CallParameters quando chiama NdisMCmMakeCallComplete. Se il client trova questi parametri di chiamata modificati inaccettabili, la chiamata verrà annullata, causando anche una chiamata alla funzione ProtocolCoDeleteVc del driver MCM.

Solo i driver miniport orientati alla connessione che forniscono supporto integrato per la gestione delle chiamate possono chiamare NdisMCmMakeCallComplete. I gestori di chiamate autonomi, che si registrano con NDIS come driver di protocollo, chiamano invece NdisCmMakeCallComplete .

Requisiti

Requisito Valore
Client minimo supportato Supportato per i driver NDIS 6.0 e NDIS 5.1 (vedere NdisMCmMakeCallComplete (NDIS 5.1) in Windows Vista. Supportato per i driver NDIS 5.1 (vedere NdisMCmMakeCallComplete (NDIS 5.1) in Windows XP.
Piattaforma di destinazione Desktop
Intestazione ndis.h (includere Ndis.h)
IRQL <= DISPATCH_LEVEL
Regole di conformità DDI Irql_MCM_Function(ndis)

Vedi anche

CO_CALL_PARAMETERS

NdisAllocateFromNPagedLookasideList

NdisClMakeCall

NdisCmMakeCallComplete

ProtocolClMakeCallComplete

ProtocolCmMakeCall

ProtocolCoDeleteVc