RasSecurityDialogBegin 函数 (rasshost.h)
RasSecurityDialogBegin 函数是 RAS 服务器在远程用户尝试连接时调用的第三方 RAS 安全 DLL 入口点。 这使安全 DLL 能够开始对远程用户进行身份验证。
语法
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 安全功能(如 RasSecurityDialogSend 和 RasSecurityDialogReceive)中使用此句柄来标识此身份验证事务。
请注意,此句柄仅在 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 函数的指针,该函数在身份验证完成后调用
RasSecurityDialogBegin 实现必须尽快返回,因为 RAS 服务器被阻止,在 RasSecurityDialogBegin 返回之前无法接受任何其他调用。 RasSecurityDialogBegin 函数应复制输入参数,并创建一个线程来与远程用户通信并对其进行身份验证。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | rasshost.h |