Manipuladores de notificação
Uma chamada RasDial assíncrona 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 for alterado ou ocorrer um erro.
As ações executadas por um manipulador de notificação podem ser divididas nas seguintes categorias:
- Manipulação de erros.
- Fornecer comentários ao usuário à medida que a operação de conexão prossegue pelos vários estados de conexão. Consulte Notificações informativas.
- Manipulando estados pausados.
- Sinalizando o aplicativo cliente RAS quando a operação de conexão tiver sido concluída. Confira Notificações de Conclusão.
Há três tipos de manipuladores de notificação, cada um recebe as mesmas informações básicas: o estado de conexão atual e um código de erro diferente de zero somente se ocorrer um erro.
Valor | Definição |
---|---|
RasDialFunc | Um protótipo de função de retorno de chamada que recebe apenas o estado de conexão atual e as 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 dão suporte a 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á alterando os estados. |
RasDialFunc2 | Uma função de retorno de chamada semelhante a RasDialFunc1. No entanto, RasDialFunc2 é aprimorado para dar suporte a conexões multilink. |
Identificador de janela | Um identificador de janela para o qual o RAS envia WM_RASDIALEVENT mensagens que contêm o estado de conexão atual e as informações de código de erro. Use esse método se o código-fonte precisar ser compatível com o Windows de 16 bits, pois o Windows de 16 bits não dá suporte a 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 ocorra 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, RasGetErrorString e RasHangUp) podem ser chamadas de dentro de um manipulador.