RasSecurityDialogReceive 函数 (rasshost.h)

RasSecurityDialogReceive 函数启动异步操作,该操作接收远程用户对安全质询的响应。 响应是用户在远程计算机上的终端窗口中键入的输入。 第三方 RAS 安全 DLL 在对远程用户进行身份验证时调用此函数。

若要调用此函数,请先调用 LoadLibrary 函数以加载 Rasman.dll。 然后调用 GetProcAddress 函数以获取 DLL 的 RasSecurityDialogReceive 入口点。

注意 Windows Server 2008、Windows Server 2003、Windows 2000 Server 和 Windows NT Server 4.0 目前仅为串行设备提供 RAS 安全主机支持。 不支持其他类型的连接,例如集成服务数字网络 (ISDN) 或虚拟专用网络 (VPN) 连接。
 

语法

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

parameters

[in] hPort

指定 RAS 服务器在此身份验证事务的 RasSecurityDialogBegin 调用中传递给安全 DLL 的端口句柄。

[in] pBuffer

指向在 RasSecurityDialogBegin 调用中传递给安全 DLL 的接收缓冲区的指针。 异步接收操作成功完成后,此缓冲区将指定来自远程用户的响应。

[in] pBufferLength

指向 WORD 变量的指针。 此变量必须指定 pBuffer 缓冲区的大小(以字节为单位)。 完成接收操作后, 变量指示 pBuffer 缓冲区中返回的字节数。

[in] Timeout

指定超时期限(以秒为单位),在此时间段后,RAS 服务器将 hEvent 事件对象设置为信号状态。

如果此值为零,则没有超时期限;也就是说,RAS 服务器在完成接收操作之前不会向事件对象发出信号。

[in] hEvent

指定 CreateEvent 函数创建的事件对象的句柄。 当接收操作完成或超时期限已过时,RAS 服务器将事件对象设置为信号状态。

返回值

如果函数成功,则返回值为 PENDING (raserror.h) 中定义。 这表示正在执行接收操作。

如果发生错误,则返回值为 Raserror.h 或 Winerror.h 中定义的错误代码之一。 GetLastError 不提供扩展的错误信息。

注解

调用 RasSecurityDialogSend 函数向远程用户发送安全质询后,安全 DLL 必须调用 RasSecurityDialogReceive 函数以获取用户的响应。

RasSecurityDialogReceive 函数是异步函数。 当函数返回时,安全 DLL 必须使用等待函数之一(如 WaitForSingleObject)来等待 向 hEvent 事件对象发出信号。 当接收操作完成或超时间隔已过时,RAS 服务器向事件对象发出信号。 如果接收操作成功, 则 pBuffer 缓冲区包含来自远程用户的响应, pBufferLength 参数指示收到的字节数。 如果远程用户发送的字节数超过缓冲区中容纳的字节数,RAS 服务器将缓冲多余的字节,并在下一个 RasSecurityDialogReceive 调用中返回这些字节。

使用 Timeout 参数指定超时间隔。 如果超时已过,RAS 服务器会向事件对象发出信号, pBufferLength 参数指示传输了零个字节。 或者,将 Timeout 设置为零,并在用于等待事件对象的 wait 函数中指定超时间隔。

当安全 DLL 对远程用户进行身份验证时,远程计算机上的连接操作将进入RASCS_Interactive暂停状态。 RasSecurityDialogSend 发送的消息在远程计算机上的终端窗口中显示为输出。 RasSecurityDialogReceive 收到的响应是远程用户在终端窗口中键入的输入。 RASCS_Interactive值在 RASCONNSTATE 枚举中定义。

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 rasshost.h
DLL Rasman.dll

请参阅

CreateEvent

GetProcAddress

LoadLibrary

RAS 服务器管理功能

RASCONNSTATE

RasSecurityDialogSend

远程访问服务 (RAS) 概述

WaitForSingleObject