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

A função ProtocolClNotifyCloseAf notifica um cliente CoNDIS de que o cliente deve fechar a AF (família de endereços) associada.

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

Sintaxe

PROTOCOL_CL_NOTIFY_CLOSE_AF ProtocolClNotifyCloseAf;

NDIS_STATUS ProtocolClNotifyCloseAf(
  [in] NDIS_HANDLE ClientAfContext
)
{...}

Parâmetros

[in] ClientAfContext

Um identificador fornecido pelo cliente para sua área de contexto para o AF associado. O cliente alocou essa área de contexto e passou esse identificador para o NDIS em sua chamada para o Função NdisClOpenAddressFamilyEx .

Retornar valor

ProtocolClNotifyCloseAf pode retornar um dos seguintes:

Código de retorno Descrição
NDIS_STATUS_SUCCESS
O cliente fechou com êxito a família de endereços.
NDIS_STATUS_PENDING
O cliente está tratando essa solicitação de forma assíncrona e chamará o A função NdisClNotifyCloseAddressFamilyComplete quando a operação de fechamento for concluída.
NDIS_STATUS_XXX
O cliente falhou na solicitação por algum motivo determinado pelo driver.

Comentários

OA função ProtocolClNotifyCloseAf é necessária para clientes CoNDIS. O NDIS chama ProtocolClNotifyCloseAf quando um gerenciador de chamadas notifica o NDIS de que a AF (família de endereços) especificada pelo parâmetro ProtocolAfContext deve ser fechada. Em resposta, o cliente deve:

  1. Chame a função NdisClDropParty quantas vezes forem necessárias até que apenas uma única parte permaneça ativa em cada VC (conexão virtual de vários pontos), se o cliente tiver qualquer conexão multipoint ativa.
  2. Chame a função NdisClCloseCall quantas vezes for necessário para fechar todas as chamadas que ainda estão abertas e estão associadas ao AF.
  3. Chame a função NdisClDeregisterSap quantas vezes forem necessárias para desregistrar todos os SAPs (pontos de acesso de serviço) que o cliente registrou com o gerenciador de chamadas.
  4. Chamar o Função NdisClCloseAddressFamily para fechar o AF.
O cliente pode concluir essas ações de forma assíncrona retornando NDIS_STATUS_PENDING. Se o cliente concluir a chamada de forma assíncrona, ele deverá chamar posteriormente o A função NdisClNotifyCloseAddressFamilyComplete quando a operação de fechamento for concluída. Se o cliente não retornar NDIS_STATUS_PENDING, a operação de fechamento será concluída quando ProtocolClNotifyCloseAf retorna.

O NDIS chama ProtocolClNotifyCloseAf em IRQL <= DISPATCH_LEVEL.

O cliente pode usar o NdisAfHandle enquanto o AF estiver aberto ou enquanto um A operação ProtocolClNotifyCloseAf está pendente. Se a opçãoA função ProtocolClNotifyCloseAf retorna NDIS_STATUS_PENDING, use o identificador no A chamada NdisClNotifyCloseAddressFamilyComplete após a conclusão da operação de fechamento.

Exemplos

Para definir uma função ProtocolClNotifyCloseAf , 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 ProtocolClNotifyCloseAf chamada "MyClNotifyCloseAf", use o tipo PROTOCOL_CL_NOTIFY_CLOSE_AF conforme mostrado neste exemplo de código:

PROTOCOL_CL_NOTIFY_CLOSE_AF MyClNotifyCloseAf;

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

_Use_decl_annotations_
NDIS_STATUS
 MyClNotifyCloseAf(
    NDIS_HANDLE  ProtocolAfContext
    )
  {...}

O tipo de função PROTOCOL_CL_NOTIFY_CLOSE_AF é 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_NOTIFY_CLOSE_AF 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 no NDIS 6.0 e posterior.
Plataforma de Destino Windows
Cabeçalho ndis.h (inclua Ndis.h)
IRQL <= DISPATCH_LEVEL

Confira também

NdisClCloseAddressFamily

NdisClCloseCall

NdisClDeregisterSap

NdisClDropParty

NdisClNotifyCloseAddressFamilyComplete

NdisClOpenAddressFamilyEx