função de retorno de chamada PROTOCOL_CL_DEREGISTER_SAP_COMPLETE (ndis.h)
A função ProtocolClDeregisterSapComplete é usada por clientes NDIS orientados à conexão. Os clientes NDIS orientados à conexão que aceitam chamadas de entrada devem ter funções ProtocolClDeregisterSapComplete para concluir as operações assíncronas iniciadas com NdisClDeregisterSap. Caso contrário, a função ProtocolClDeregisterSapComplete do driver de protocolo pode simplesmente retornar o controle.
Sintaxe
PROTOCOL_CL_DEREGISTER_SAP_COMPLETE ProtocolClDeregisterSapComplete;
void ProtocolClDeregisterSapComplete(
[in] NDIS_STATUS Status,
[in] NDIS_HANDLE ProtocolSapContext
)
{...}
Parâmetros
[in] Status
Especifica o status final da solicitação do cliente para desregistrar seu SAP, que pode ser um dos seguintes:
NDIS_STATUS_SUCCESS
O SAP foi fechado. O NdisSapHandle que representava o SAP registrado anteriormente do cliente, que o cliente armazenava em sua área ProtocolSapContext , agora é inválido.
NDIS_STATUS_FAILURE
O NDIS havia marcado o estado do AF como "fechamento", portanto, o SAP associado representado pelo NdisSapHandle já foi liberado quando a chamada do cliente para NdisClDeregisterSap ocorreu.
NDIS_STATUS_XXX
O gerenciador de chamadas falhou na solicitação para fechar o SAP por algum motivo determinado por CM e o NDIS propagava o status retornado por seu Função ProtocolCmDeregisterSap para o cliente.
[in] ProtocolSapContext
Especifica o identificador fornecido pelo cliente para sua área de contexto por SAP, originalmente passado para o NDIS com NdisClRegisterSap. Depois que o gerenciador de chamadas tiver desregistrado esse SAP com êxito, o cliente poderá liberar sua área de contexto ou preparar essa área de contexto para reutilização.
Retornar valor
Nenhum
Comentários
Uma chamada para ProtocolClDeregisterSapComplete indica que a chamada anterior do cliente para NdisClDeregisterSap foi processada pelo gerenciador de chamadas.
A menos que o gerenciador de chamadas tenha falhado na desregistração por algum motivo determinado por CM, o cliente deve considerar o NdisSapHandle inválido quando ProtocolClDeregisterSapComplete for chamado. Consequentemente, ProtocolClDeregisterSapComplete pode liberar a área de contexto por SAP que o cliente alocou ou prepará-la para reutilização em uma chamada subsequente para NdisClRegisterSap.
Exemplos
Para definir uma função ProtocolClDeregisterSapComplete , 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 ProtocolClDeregisterSapComplete chamada "MyClDeregisterSapComplete", use o tipo PROTOCOL_CL_DEREGISTER_SAP_COMPLETE conforme mostrado neste exemplo de código:
PROTOCOL_CL_DEREGISTER_SAP_COMPLETE MyClDeregisterSapComplete;
Em seguida, implemente sua função da seguinte maneira:
_Use_decl_annotations_
VOID
MyClDeregisterSapComplete(
NDIS_STATUS Status,
NDIS_HANDLE ProtocolSapContext
)
{...}
O tipo de função PROTOCOL_CL_DEREGISTER_SAP_COMPLETE é 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_DEREGISTER_SAP_COMPLETE 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 ProtocolClDeregisterSapComplete (NDIS 5.1)) no Windows Vista. Com suporte para drivers NDIS 5.1 (consulte ProtocolClDeregisterSapComplete (NDIS 5.1)) no Windows XP. |
Plataforma de Destino | Windows |
Cabeçalho | ndis.h (inclua Ndis.h) |
IRQL | <= DISPATCH_LEVEL |