Partilhar via


Manipuladores de notificação

Uma chamada assíncrona RasDial deve especificar um manipulador de notificação. Durante uma operação de conexão assíncrona, o Gerenciador de Conexões de Acesso Remoto usa o manipulador de notificação para informar o cliente RAS sempre que o estado da conexão mudar ou ocorrer um erro.

As ações executadas por um manipulador de notificação podem ser divididas nas seguintes categorias:

Existem três tipos de manipuladores de notificação, cada um dos quais recebe as mesmas informações básicas: o estado atual da conexão e um código de erro diferente de zero somente se tiver ocorrido um erro.

Valor Definição
RasDialFunc Um protótipo de função de retorno de chamada que recebe apenas o estado da conexão atual e informações de código de erro.
RasDialFunc1 Um protótipo de função de retorno de chamada que recebe o identificador de conexão HRASCONN e informações de erro estendidas, além das informações básicas. O parâmetro de identificador de conexão torna RasDialFunc1 útil para aplicativos cliente que suportam várias operações de conexão simultâneas. Isso permite que o cliente especifique a mesma função de retorno de chamada para todas as operações e permite que a função de retorno de chamada determine qual conexão está mudando de estado.
RasDialFunc2 Uma função de retorno de chamada semelhante a RasDialFunc1. No entanto, RasDialFunc2 é aprimorado para suportar conexões multilink.
Alça da janela Um identificador de janela para o qual o RAS envia mensagens WM_RASDIALEVENT contendo o estado da conexão atual e informações de código de erro. Use este método se o código-fonte deve ser compatível com o Windows de 16 bits, porque o Windows de 16 bits não suporta nenhuma das funções de retorno de chamada.

 

O Gerenciador de Conexões de Acesso Remoto suspende a operação de conexão até que o manipulador de notificação retorne. Por esse motivo, o manipulador deve retornar o mais rápido possível, a menos que tenha ocorrido um erro.

A função RasDial não deve ser chamada de dentro de um manipulador de notificação. As outras funções de acesso remoto ( RasGetConnectStatus, RasEnumEntries, RasEnumConnections, RasGetErrorStringe RasHangUp) podem ser chamadas de dentro de um manipulador.