Função NdisClDropParty (ndis.h)

NdisClDropParty remove uma parte do VC de vários pontos do cliente.

Sintaxe

NDIS_STATUS NdisClDropParty(
  [in]           NDIS_HANDLE NdisPartyHandle,
  [in, optional] PVOID       Buffer,
  [in, optional] UINT        Size
);

Parâmetros

[in] NdisPartyHandle

Especifica o identificador que identifica a parte a ser descartada na conexão de vários pontos. O cliente obteve esse identificador de uma chamada anterior para NdisClAddParty ou NdisClMakeCall.

[in, optional] Buffer

Ponteiro para um buffer alocado pelo chamador que contém todos os dados a serem transmitidos para fechar a conexão de vários pontos da parte no nó remoto. Dependendo do meio subjacente, esse ponteiro pode ser NULL.

[in, optional] Size

Especifica o tamanho em bytes em Buffer, zero se Buffer for NULL.

Retornar valor

Quando NdisClDropParty retorna algo diferente de NDIS_STATUS_PENDING, o cliente deve fazer uma chamada interna para sua Função ProtocolClDropPartyComplete . Caso contrário, o NDIS chamará a função ProtocolClDropPartyComplete do cliente quando essa operação for concluída.

Comentários

Os clientes geralmente chamam NdisClDropParty em qualquer uma das seguintes circunstâncias:

  • Na lista Função ProtocolClIncomingDropParty para remover a parte especificada de uma conexão de vários pontos.

    Isso ocorre quando uma parte em um nó remoto fecha sua conexão com NdisClCloseCall. Quando o NDIS chama a função ProtocolClDropPartyComplete do cliente local, ele pode liberar ou reutilizar a área de contexto em ProtocolPartyContext , na qual o cliente estava mantendo o estado sobre essa parte.

  • Antes que o cliente chame NdisClCloseCall com a última parte em uma conexão de vários pontos que o cliente configurou originalmente com NdisClMakeCall.

    Para esse fechamento iniciado pelo cliente de sua própria chamada multiponto, o cliente deve chamar NdisClDropParty uma ou mais vezes para remover todas as outras partes restantes na VC de vários pontos.

A chamada de um cliente para NdisClDropParty faz com que o NDIS chame a função ProtocolCmDropParty do gerenciador de chamadas que compartilha o mesmo NdisVcHandle para a VC de vários pontos. O gerenciador de chamadas é responsável por notificar seu par de nós remotos de que a conexão de parte foi ou deve ser fechada, dependendo de qual cliente iniciou a operação de terceiros.

Como diretriz geral, um cliente deve chamar NdisClDropParty tantas vezes quanto chamou NdisClAddParty com um NdisVcHandle específico obtido de NdisClMakeCall antes de fechar sua conexão multiponto com NdisClCloseCall. Como as partes remotas podem iniciar o fechamento de suas conexões, causando assim chamadas para o cliente localFunção ProtocolClIncomingDropParty, o cliente local deve acompanhar o número de partes ativas em seus VCs multipoint para saber quantas chamadas ele deve fazer para NdisClDropParty antes de poder chamar NdisClCloseCall.

No entanto, o cliente não precisa passar NdisClCloseCall para o mesmo NdisPartyHandle retornado por NdisClMakeCall quando o cliente originalmente configurou sua conexão de vários pontos. O cliente pode liberar partes em sua VC de vários pontos em qualquer ordem, desde que libere cada NdisPartyHandle retornado por NdisClAddParty ou NdisClMakeCall em suas chamadas para NdisClDropParty, seguido por uma chamada final com o identificador de última parte para NdisClCloseCall para o mesmo VC multipoint. Depois que o cliente tiver fechado sua chamada de vários pontos, ele poderá liberar a VC criada originalmente com NdisCoDeleteVc.

O chamador de NdisClDropParty deve considerar a entrada NdisPartyHandle inválida assim que fizer essa chamada. Se ele armazenou esse identificador na área de contexto da parte alocada, o do clienteA função ProtocolClDropPartyComplete deverá redefinir a variável handle para NULL se reinicializar sua área de contexto por parte para reutilização quando a parte tiver sido descartada.

Requisitos

Requisito Valor
Cliente mínimo com suporte Com suporte para drivers NDIS 6.0 e NDIS 5.1 (consulte NdisClDropParty (NDIS 5.1)) no Windows Vista. Com suporte para drivers NDIS 5.1 (consulte NdisClDropParty (NDIS 5.1)) no Windows XP.
Plataforma de Destino Área de Trabalho
Cabeçalho ndis.h (inclua Ndis.h)
Biblioteca Ndis.lib
IRQL <= DISPATCH_LEVEL
Regras de conformidade da DDI Irql_Protocol_Driver_Function(ndis)

Confira também

NdisClAddParty

NdisClCloseCall

NdisClMakeCall

NdisCoDeleteVc

ProtocolClDropPartyComplete

ProtocolClIncomingDropParty

ProtocolCmDropParty