Compartilhar via


Estados em pausa

Durante uma operação de conexão, pode haver momentos em que o servidor remoto não pode continuar sem informações adicionais do usuário local. A partir do Windows NT 3.5, a função RasDial dá suporte a estados pausados. Um estado em pausa permite que a Gerenciador de Conexões de Acesso Remoto suspenda uma operação de conexão para que o aplicativo cliente RAS possa coletar informações do usuário.

Os estados em pausa são úteis nas seguintes situações:

  • Quando o usuário precisar fornecer um número de retorno de chamada .
  • Quando a autenticação do usuário falha, o usuário pode digitar um nome de usuário e uma senha diferentes.
  • Quando a senha do usuário tiver expirado, o usuário poderá fornecer uma nova senha.

Por padrão, o suporte de estado pausado está desabilitado. Os clientes RAS que desejam dar suporte a estados pausados devem definir o sinalizador RDEOPTS_PausedStates na estrutura RASDIALEXTENSIONS passada como um parâmetro para RasDial.

Quando ocorre um estado em pausa, o Gerenciador de Conexões de Acesso Remoto invoca o manipulador de notificação do cliente. Se o suporte de estado pausado estiver desabilitado, a mensagem de notificação indicará um erro e a operação de conexão falhará. Se ele estiver habilitado, o Gerenciador de Conexões pausará a operação de conexão para aguardar a resposta do cliente RAS. O cliente RAS pode retomar a operação de conexão por uma segunda chamada RasDial ou encerrá-la chamando a função RasHangUp .

Depois de obter a entrada do usuário, o cliente RAS reinicia a operação de conexão chamando RasDial novamente. Essa segunda chamada RasDial deve especificar as seguintes informações:

  • O identificador de conexão que foi retornado pela chamada RasDial original.
  • O mesmo manipulador de notificação que a chamada RasDial original.
  • A entrada do usuário nos membros apropriados da estrutura RASDIALPARAMS . Outros membros da estrutura RASDIALPARAMS devem ter as mesmas informações especificadas na chamada RasDial original.

A segunda chamada RasDial não pode ser feita de dentro do manipulador de notificação.