PROTOCOL_CL_INCOMING_DROP_PARTY função de retorno de chamada (ndis.h)

A função ProtocolClIncomingDropParty é usada por clientes NDIS orientados à conexão que configuram conexões de vários pontos. Esses clientes devem ter funções ProtocolClIncomingDropParty . Caso contrário, a função ProtocolClIncomingDropParty registrada do driver de protocolo pode simplesmente retornar o controle.

Nota Você deve declarar a função usando o tipo PROTOCOL_CL_INCOMING_DROP_PARTY . Para obter mais informações, consulte a seção Exemplos a seguir.
 

Sintaxe

PROTOCOL_CL_INCOMING_DROP_PARTY ProtocolClIncomingDropParty;

void ProtocolClIncomingDropParty(
  [in] NDIS_STATUS DropStatus,
  [in] NDIS_HANDLE ProtocolPartyContext,
  [in] PVOID CloseData,
  [in] UINT Size
)
{...}

Parâmetros

[in] DropStatus

Indica o motivo para a parte ser descartada. Normalmente, isso é NDIS_STATUS_SUCCESS se a parte na nota remota iniciou um fechamento de sua conexão, mas pode ser qualquer status determinado por CM se o gerenciador de chamadas iniciou essa operação suspensa devido a problemas de rede descobertos.

[in] ProtocolPartyContext

Especifica o identificador para a área de contexto por parte do cliente para que a parte seja descartada. O cliente originalmente forneceu esse identificador para o NDIS quando chamou NdisClAddParty ou NdisClMakeCall.

[in] CloseData

Ponteiro para um buffer que contém uma mensagem de fechamento específica do protocolo, possivelmente uma fornecida pelo cliente remoto que o gerenciador de chamadas recebeu pela rede ou esse parâmetro pode ser NULL.

Quando DropStatus é NDIS_STATUS_SUCCESS, esse parâmetro é NULL se o meio de rede subjacente não dá suporte a transferências de dados ao fechar uma conexão. No entanto, qualquer gerenciador de chamadas específico pode definir uma estrutura para passar informações de diagnóstico adicionais para seus clientes em operações suspensas causadas por problemas na rede.

[in] Size

Especifica o comprimento, em bytes, do buffer em CloseData, zero se CloseData for NULL.

Retornar valor

Nenhum

Comentários

Uma chamada para ProtocolClIncomingDropParty indica que o seguinte ocorreu:

  • O gerenciador de chamadas recebeu uma solicitação pela rede para fechar uma conexão estabelecida, identificada pelo NdisPartyHandle que o cliente armazenou em sua área de contexto por parte em ProtocolPartyContext .
  • O gerenciador de chamadas detectou que problemas de rede impedirão novas transferências de dados na conexão estabelecida.
Em ambos os casos, ProtocolClIncomingDropParty deve realizar quaisquer operações determinadas pelo protocolo para remover a parte do VC de vários pontos do cliente. ProtocolClIncomingDropParty deve chamar NdisClDropParty ou, se essa for a última parte restante no VC de vários pontos do cliente, NdisClCloseCall.

ProtocolClIncomingDropParty deve considerar o NdisPartyHandle que o cliente obteve de NdisClAddParty ou NdisClMakeCall inválido. ProtocolClIncomingDropParty pode liberar a área de contexto por parte do cliente ou prepará-la para reutilização em uma chamada subsequente para NdisClAddParty.

Exemplos

Para definir uma função ProtocolClIncomingDropParty , primeiro você deve fornecer uma declaração de função que identifique o tipo de função que você está definindo. O Windows fornece um conjunto de tipos de função para drivers. Declarar uma função usando os tipos de função ajuda a Análise de Código para Drivers, SDV ( Verificador de Driver Estático ) e outras ferramentas de verificação a encontrar erros e é um requisito para gravar drivers para o sistema operacional Windows.

Por exemplo, para definir uma função ProtocolClIncomingDropParty chamada "MyClIncomingDropParty", use o tipo PROTOCOL_CL_INCOMING_DROP_PARTY conforme mostrado neste exemplo de código:

PROTOCOL_CL_INCOMING_DROP_PARTY MyClIncomingDropParty;

Em seguida, implemente sua função da seguinte maneira:

_Use_decl_annotations_
VOID
 MyClIncomingDropParty(
    NDIS_STATUS  DropStatus,
    NDIS_HANDLE  ProtocolPartyContext,
    PVOID  CloseData,
    UINT  Size
    )
  {...}

O tipo de função PROTOCOL_CL_INCOMING_DROP_PARTY é definido no arquivo de cabeçalho Ndis.h. Para identificar erros com mais precisão ao executar as ferramentas de análise de código, adicione a anotação Use_decl_annotations à sua definição de função. A anotação Use_decl_annotations garante que as anotações aplicadas ao tipo de função PROTOCOL_CL_INCOMING_DROP_PARTY no arquivo de cabeçalho sejam usadas. Para obter mais informações sobre os requisitos para declarações de função, consulte Declarando funções usando tipos de função de função para drivers NDIS.

Para obter informações sobre Use_decl_annotations, consulte Anotando o comportamento da função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Com suporte para drivers NDIS 6.0 e NDIS 5.1 (consulte ProtocolClIncomingDropParty (NDIS 5.1)) no Windows Vista. Com suporte para drivers NDIS 5.1 (consulte ProtocolClIncomingDropParty (NDIS 5.1)) no Windows XP.
Plataforma de Destino Windows
Cabeçalho ndis.h (inclua Ndis.h)
IRQL <= DISPATCH_LEVEL

Confira também

NdisClAddParty

NdisClCloseCall

NdisClDropParty

NdisClMakeCall

NdisCmDispatchIncomingDropParty

NdisFreeMemory

NdisFreeToNPagedLookasideList NdisMCmDispatchIncomingDropParty