RasSecurityDialogBegin 函数 (rasshost.h)

RasSecurityDialogBegin 函数是 RAS 服务器在远程用户尝试连接时调用的第三方 RAS 安全 DLL 入口点。 这使安全 DLL 能够开始对远程用户进行身份验证。

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

语法

DWORD RasSecurityDialogBegin(
  [in] HPORT                        hPort,
  [in] PBYTE                        pSendBuf,
  [in] DWORD                        SendBufSize,
  [in] PBYTE                        pRecvBuf,
  [in] DWORD                        RecvBufSize,
       VOID(* )(SECURITY_MESSAGE *) RasSecurityDialogComplete
);

参数

[in] hPort

指定 RAS 端口句柄。 安全 DLL 在其他 RAS 安全功能(如 RasSecurityDialogSendRasSecurityDialogReceive)中使用此句柄来标识此身份验证事务。

请注意,此句柄仅在 RAS 安全功能中有效;不要在其他 I/O 函数中使用它。

[in] pSendBuf

指向 RAS 服务器分配的缓冲区的指针。 安全 DLL 将此缓冲区与 RasSecurityDialogSend 函数一起使用,以发送远程计算机上 RAS 终端窗口中显示的文本。

[in] SendBufSize

指定 pSendBuf 缓冲区的大小(以字节为单位)。

[in] pRecvBuf

指向 RAS 服务器分配的缓冲区的指针。 安全 DLL 将此缓冲区与 RasSecurityDialogReceive 函数一起使用,以接收来自远程用户的响应。

[in] RecvBufSize

指定 pRecvBuf 缓冲区的大小(以字节为单位)。

RasSecurityDialogComplete

返回值

如果安全 DLL 成功启动身份验证操作, 则 RasSecurityDialogBegin 应返回 NO_ERROR。 在这种情况下,安全 DLL 稍后必须通过调用 RasSecurityDialogComplete 参数指向的函数来终止身份验证事务。

如果发生错误, RasSecurityDialogBegin 应返回非零错误代码。 在这种情况下,RAS 服务器会挂起调用,并将错误记录在事件日志中。 返回非零错误代码将终止身份验证事务,因此安全 DLL 不需要调用 RasSecurityDialogComplete 函数。

注解

当 RAS 服务器从远程计算机接收呼叫时,它会调用由注册的 RAS 安全 DLL 导出的 RasSecurityDialogBegin 函数(如果有)。 当 RAS 服务器调用此函数时,它将以下信息传递给安全 DLL:

  • 用于标识连接的端口句柄
  • 指向与远程用户通信时要使用的缓冲区的指针
  • 指向 RasSecurityDialogComplete 函数的指针,该函数在身份验证完成后调用
在调用 RasSecurityDialogComplete 以终止身份验证事务之前,端口句柄和缓冲区指针是有效的。

RasSecurityDialogBegin 实现必须尽快返回,因为 RAS 服务器被阻止,在 RasSecurityDialogBegin 返回之前无法接受任何其他调用。 RasSecurityDialogBegin 函数应复制输入参数,并创建一个线程来与远程用户通信并对其进行身份验证。

要求

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

另请参阅

RAS 服务器管理功能

RasSecurityDialogComplete

RasSecurityDialogReceive

RasSecurityDialogSend

远程访问服务 (RAS) 概述