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

A função ProtocolCmDeregisterSap é necessária. Essa função é chamada pelo NDIS para solicitar que um gerenciador de chamadas cancele um SAP em nome de um cliente orientado à conexão.

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

Sintaxe

PROTOCOL_CM_DEREGISTER_SAP ProtocolCmDeregisterSap;

NDIS_STATUS ProtocolCmDeregisterSap(
  [in] NDIS_HANDLE CallMgrSapContext
)
{...}

Parâmetros

[in] CallMgrSapContext

Especifica o identificador para uma área de contexto alocada pelo gerenciador de chamadas na qual o gerenciador de chamadas mantém suas informações de estado por SAP. O gerenciador de chamadas forneceu esse identificador para o NDIS de sua Função ProtocolCmRegisterSap .

Retornar valor

ProtocolCmDeregisterSap retorna a status de suas operações como uma das seguintes:

Código de retorno Descrição
NDIS_STATUS_SUCCESS
Indica que o gerenciador de chamadas removeu com êxito o registro sap e liberou todos os recursos alocados para manter informações por SAP.
NDIS_STATUS_PENDING
Indica que o gerenciador de chamadas concluirá a solicitação para cancelar o registro do SAP de forma assíncrona. O gerenciador de chamadas deve chamar NdisCmDeregisterSapComplete para sinalizar o NDIS quando a operação for concluída.

Comentários

ProtocolCmDeregisterSap comunica-se com dispositivos de controle de rede ou outros agentes específicos de mídia, conforme necessário, para cancelar o registro do SAP na rede. Essas ações podem incluir, mas não se limitam a:

  • Comunicando-se com um hardware de alternância
  • Comunicando-se com uma estação de controle de rede
  • Comunicando-se com outros agentes de rede específicos da mídia
Se um gerenciador de chamadas precisar se comunicar com agentes de controle de rede, como um comutador de rede, ele deverá usar uma conexão virtual com o agente de controle de rede que estabeleceu em sua função ProtocolBindAdapterEx . Os gerenciadores de chamadas autônomos se comunicam por meio do driver de miniporto subjacente chamando NdisCoSendNetBufferLists. Os drivers de miniport que fornecem suporte integrado ao gerenciamento de chamadas nunca chamam NdisCoSendNetBufferLists. Em vez disso, eles transmitem os dados diretamente pela rede.

Além disso, ProtocolCmDeregisterSap deve liberar todos os recursos alocados dinamicamente em sua área por SAP, fornecidos em CallMgrSapContext, bem como liberar a própria área de estado antes de retornar o controle para o NDIS.

Exemplos

Para definir uma função ProtocolCmDeregisterSap , 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 escrever drivers para o sistema operacional Windows.

Por exemplo, para definir uma função ProtocolCmDeregisterSap chamada "MyCmDeregisterSap", use o tipo PROTOCOL_CM_DEREGISTER_SAP conforme mostrado neste exemplo de código:

PROTOCOL_CM_DEREGISTER_SAP MyCmDeregisterSap;

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

_Use_decl_annotations_
NDIS_STATUS
 MyCmDeregisterSap(
    NDIS_HANDLE  CallMgrSapContext
    )
  {...}

O tipo de função PROTOCOL_CM_DEREGISTER_SAP é 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_CM_DEREGISTER_SAP 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 ProtocolCmDeregisterSap (NDIS 5.1)) no Windows Vista. Com suporte para drivers NDIS 5.1 (consulte ProtocolCmDeregisterSap (NDIS 5.1)) no Windows XP.
Plataforma de Destino Windows
Cabeçalho ndis.h (inclua Ndis.h)
IRQL <= DISPATCH_LEVEL

Confira também

NdisCmDeregisterSapComplete

NdisCoSendNetBufferLists

ProtocolBindAdapterEx

ProtocolCmRegisterSap