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:
- Tratamento de erros.
- Fornecer feedback ao usuário à medida que a operação de conexão prossegue através dos vários estados de conexão. Consulte Notificações informativas.
- Manipulação estados pausados.
- Sinalizando o aplicativo cliente RAS quando a operação de conexão for concluída. Consulte Notificações de conclusão.
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.