Partilhar via


Macro NdisMCmDispatchIncomingCloseCall (ndis.h)

NdisMCmDispatchIncomingCloseCall informa a um cliente para derrubar uma chamada ativa ou oferecida, geralmente porque o driver MCM recebeu uma solicitação da rede para fechar a conexão.

Sintaxe

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

Parâmetros

_S_

Especifica um NDIS_STATUS_XXX determinado pelo chamador, indicando o motivo da solicitação de desconexão. Durante operações normais de rede, um driver MCM passa NDIS_STATUS_SUCCESS para indicar que recebeu uma solicitação, iniciada pela parte remota, para fechar uma chamada ativa.

_H_

Especifica o identificador para a VC da chamada que está sendo desconectada. Esse identificador foi fornecido pelo NDIS quando a VC foi criada originalmente, seja pelo driver MCM com NdisMCmCreateVc ou como um parâmetro de entrada para sua função ProtocolCoCreateVc.

_B_

Ponteiro para um buffer residente alocado pelo chamador que contém dados de desconexão adicionais específicos do protocolo, se houver. Dependendo do meio subjacente, esse ponteiro pode ser NULL .

_Z_

Especifica o tamanho em bytes do buffer, zero se buffer estiver NULL.

Valor de retorno

Nenhum

Observações

No curso de operações normais de rede, um driver MCM chama NdisMCmDispatchIncomingCloseCall com o CloseStatus definido como NDIS_STATUS_SUCCESS porque o cliente correspondente no nó remoto chamou NdisClCloseCall.

No entanto, um driver MCM também pode chamar NdisMCmDispatchIncomingCloseCall se ocorrer um dos seguintes procedimentos:

  • O driver MCM notificou um cliente de uma oferta de chamada de entrada. Quando o driver de miniporto função ProtocolCmIncomingCallComplete é chamada com a aceitação do cliente, valida os parâmetros de chamada de entrada, que esse cliente modificou. ProtocolCmIncomingCallComplete determina que o cliente está propondo parâmetros de chamada não compatíveis para a conexão, portanto, ele chama NdisMCmDispatchIncomingCloseCall.
  • Condições anormais de rede forçam o driver MCM a derrubar chamadas ativas. Por exemplo, se o driver MCM for notificado quando qualquer link na conexão entre esse cliente e a parte remota da conexão falhar, o driver de miniporto chamará NdisCmDispatchIncomingCloseCall para impedir que o cliente tente (ou espera) transferências de dados adicionais em uma conexão tão interrompida.
Depois que o cliente chama NdisClCloseCall, causando assim a desativação do VC, o criador original do VC é responsável por destruir a VC. O cliente chama NdisCoDeleteVc, que faz com que o NDIS chame a função ProtocolCoDeleteVc do driver MCM ou o driver MCM chama NdisMCmDeleteVc depois de chamar NdisMCmDeactivateVc e liberar os recursos adicionais associados ao VC que ele criou.

Uma chamada para NdisMCmDispatchIncomingCloseCall faz com que o NDIS chame o cliente função ProtocolClIncomingCloseCall.

Somente drivers de miniporto orientados à conexão que fornecem suporte ao gerenciamento de chamadas podem chamar NdisMCmDispatchIncomingCall. Os gerenciadores de chamadas autônomos, que se registram no NDIS como drivers de protocolo, chamam NdisCmDispatchIncomingCloseCall em vez disso.

Requisitos

Requisito Valor
de cliente com suporte mínimo Com suporte para drivers NDIS 6.0 e NDIS 5.1 (consulte NdisMCmDispatchIncomingCloseCall (NDIS 5.1)) no Windows Vista. Com suporte para drivers NDIS 5.1 (consulte NdisMCmDispatchIncomingCloseCall (NDIS 5.1)) no Windows XP.
da Plataforma de Destino Área de trabalho
cabeçalho ndis.h (inclua Ndis.h)
IRQL <= DISPATCH_LEVEL
regras de conformidade de DDI Irql_MCM_Function(ndis)

Consulte também

miniportInterruptDPC

NdisClCloseCall

NdisMCmDeactivateVc

NdisMCmDeleteVc

NdisMCmDispatchIncomingCall

NdisMCmDispatchIncomingDropParty

ProtocolClIncomingCloseCall

ProtocolCoDeleteVc