Partager via


RasSecurityDialogReceive, fonction (rasshost.h)

La fonction RasSecurityDialogReceive démarre une opération asynchrone qui reçoit la réponse d’un utilisateur distant à un défi de sécurité. La réponse est l’entrée que l’utilisateur a tapée dans une fenêtre de terminal sur l’ordinateur distant. Une DLL de sécurité RAS tierce appelle cette fonction dans le cadre de son authentification de l’utilisateur distant.

Pour appeler cette fonction, appelez d’abord la fonction LoadLibrary pour charger Rasman.dll. Appelez ensuite la fonction GetProcAddress pour obtenir le point d’entrée RasSecurityDialogReceive de la DLL.

Note Windows Server 2008, Windows Server 2003, Windows 2000 Server et Windows NT Server 4.0 fournissent actuellement une prise en charge de l’hôte de sécurité RAS pour les appareils série uniquement. D’autres types de connexions, tels que les connexions de réseau numérique de services intégrés (ISDN) ou de réseau privé virtuel (VPN), ne sont pas pris en charge.
 

Syntaxe

DWORD RasSecurityDialogReceive(
  [in] HPORT  hPort,
  [in] PBYTE  pBuffer,
  [in] PWORD  pBufferLength,
  [in] DWORD  Timeout,
  [in] HANDLE hEvent
);

Paramètres

[in] hPort

Spécifie le handle de port que le serveur RAS a transmis à la DLL de sécurité dans l’appel RasSecurityDialogBegin pour cette transaction d’authentification.

[in] pBuffer

Pointeur vers la mémoire tampon de réception qui a été passée à la DLL de sécurité dans l’appel RasSecurityDialogBegin . Une fois l’opération de réception asynchrone terminée, cette mémoire tampon spécifie la réponse de l’utilisateur distant.

[in] pBufferLength

Pointeur vers une variable WORD . Cette variable doit spécifier la taille, en octets, de la mémoire tampon pBuffer . Une fois l’opération de réception terminée, la variable indique le nombre d’octets retournés dans la mémoire tampon pBuffer .

[in] Timeout

Spécifie un délai d’attente, en secondes, après lequel le serveur RAS définit l’objet d’événement hEvent à l’état signalé.

Si cette valeur est égale à zéro, il n’y a pas de délai d’attente ; autrement dit, le serveur RAS ne signale pas l’objet d’événement tant que l’opération de réception n’est pas terminée.

[in] hEvent

Spécifie le handle d’un objet d’événement créé par la fonction CreateEvent . Le serveur RAS définit l’objet d’événement à l’état signalé lorsque l’opération de réception est terminée ou lorsque le délai d’attente s’est écoulé.

Valeur retournée

Si la fonction réussit, la valeur de retour est PENDING (définie dans Raserror.h). Cela indique que l’opération de réception est en cours.

Si une erreur se produit, la valeur de retour est l’un des codes d’erreur définis dans Raserror.h ou Winerror.h. GetLastError ne fournit pas d’informations d’erreur étendues.

Notes

Après avoir appelé la fonction RasSecurityDialogSend pour envoyer un défi de sécurité à l’utilisateur distant, la DLL de sécurité doit appeler la fonction RasSecurityDialogReceive pour obtenir la réponse de l’utilisateur.

La fonction RasSecurityDialogReceive est asynchrone. Lorsque la fonction retourne, la DLL de sécurité doit utiliser l’une des fonctions d’attente, telles que WaitForSingleObject, pour attendre que l’objet d’événement hEvent soit signalé. Le serveur RAS signale l’objet d’événement lorsque l’opération de réception est terminée ou que l’intervalle de délai d’attente s’est écoulé. Si l’opération de réception réussit, la mémoire tampon pBuffer contient la réponse de l’utilisateur distant, et le paramètre pBufferLength indique le nombre d’octets reçus. Si l’utilisateur distant envoie plus d’octets que la mémoire tampon, le serveur RAS met en mémoire tampon les octets excédentaires et les retourne dans l’appel RasSecurityDialogReceive suivant.

Utilisez le paramètre Timeout pour spécifier un intervalle de délai d’attente. Si le délai d’attente s’écoule, le serveur RAS signale l’objet d’événement et le paramètre pBufferLength indique que zéro octet a été transféré. Vous pouvez également définir Timeout sur zéro et spécifier un intervalle de délai d’attente dans la fonction d’attente utilisée pour attendre l’objet d’événement.

Lorsqu’une DLL de sécurité authentifie un utilisateur distant, l’opération de connexion sur l’ordinateur distant passe à un état RASCS_Interactive suspendu. Le message envoyé par RasSecurityDialogSend s’affiche en tant que sortie dans une fenêtre de terminal sur l’ordinateur distant. La réponse reçue par RasSecurityDialogReceive est l’entrée que l’utilisateur distant tape dans la fenêtre de terminal. La valeur RASCS_Interactive est définie dans l’énumération RASCONNSTATE .

Spécifications

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête rasshost.h
DLL Rasman.dll

Voir aussi

CreateEvent

GetProcAddress

LoadLibrary

Fonctions d’administration du serveur RAS

RASCONNSTATE

RasSecurityDialogSend

Vue d’ensemble du service d’accès à distance (RAS)

WaitForSingleObject