Condividi tramite


Macro NdisMCmDispatchIncomingCloseCall (ndis.h)

NdisMCmDispatchIncomingCloseCall indica a un client di rimuovere una chiamata attiva o offerta, in genere perché il driver MCM ha ricevuto una richiesta dalla rete per chiudere la connessione.

Sintassi

void NdisMCmDispatchIncomingCloseCall(
   _S_,
   _H_,
   _B_,
   _Z_
);

Parametri

_S_

Specifica un NDIS_STATUS_XXX determinato dal chiamante, che indica il motivo della richiesta di disconnessione. Durante le normali operazioni di rete, un driver MCM passa NDIS_STATUS_SUCCESS per indicare che ha ricevuto una richiesta, avviata dall'entità remota, per chiudere una chiamata attiva.

_H_

Specifica l'handle per il vc della chiamata disconnessa. Questo handle è stato fornito da NDIS quando è stato originariamente creato il vc, indipendentemente dal fatto che il driver MCM con NdisMCmCreateVc o come parametro di input per la relativa funzione ProtocolCoCreateVc .

_B_

Puntatore a un buffer residente allocato dal chiamante contenente dati di disconnessione aggiuntivi specifici del protocollo, se presenti. A seconda del supporto sottostante, questo puntatore può essere NULL.

_Z_

Specifica le dimensioni in byte del buffer, zero se Buffer è NULL.

Valore restituito

nessuno

Osservazioni

Durante le normali operazioni di rete, un driver MCM chiama NdisMCmDispatchIncomingCloseCall con CloseStatus impostato su NDIS_STATUS_SUCCESS perché il client corrispondente nel nodo remoto ha chiamato NdisClCloseCall.

Tuttavia, un driver MCM può anche chiamare NdisMCmDispatchIncomingCloseCall se si verifica una delle seguenti operazioni:

  • Il driver MCM ha informato un client di un'offerta di chiamata in arrivo. Quando il conducente del miniport La funzione ProtocolCmIncomingCallComplete viene chiamata con l'accettazione del client, convalida i parametri della chiamata di input modificati dal client. ProtocolCmIncomingCallComplete determina che il client propone parametri di chiamata non supportati per la connessione, quindi chiama NdisMCmDispatchIncomingCloseCall.
  • Condizioni di rete anomale forzano il driver MCM a rimuovere le chiamate attive. Ad esempio, se il driver MCM riceve una notifica quando un collegamento sulla connessione tra questo client e la parte remota della connessione diventa inattivo, il driver miniport chiamerà NdisCmDispatchIncomingCloseCall per impedire al client di tentare (o prevedere) ulteriori trasferimenti di dati su una connessione interrotta.
Dopo che il client chiama NdisClCloseCall causando così la disattivazione del vc, l'autore originale del vc è responsabile dell'eliminazione del vc. Il client chiama NdisCoDeleteVc, che fa sì che NDIS chiami la funzione ProtocolCoDeleteVc del driver MCM o il driver MCM chiami NdisMCmDeleteVc dopo aver chiamato NdisMCmDeactivateVc e rilasciando eventuali risorse aggiuntive associate al vc creato.

Una chiamata a NdisMCmDispatchIncomingCloseCall fa sì che NDIS chiami il client Funzione ProtocolClIncomingCloseCall .

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

Requisiti

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

Vedi anche

MiniportInterruptDPC

NdisClCloseCall

NdisMCmDeactivateVc

NdisMCmDeleteVc

NdisMCmDispatchIncomingCall

NdisMCmDispatchIncomingDropParty

ProtocolClIncomingCloseCall

ProtocolCoDeleteVc