ldap_sslinit 函数使用 LDAP 服务器初始化安全套接字层 (SSL) 会话。
语法
WINLDAPAPI LDAP *LDAPAPI ldap_sslinitW(
[in] PWSTR HostName,
[in] ULONG PortNumber,
[in] int secure
);
参数
[in] HostName
指向以 null 结尾的字符串的指针,该字符串包含主机名或虚线字符串的空格分隔列表,表示运行要连接到的 LDAP 服务器的主机的 IP 地址。 列表中的每个主机名都可以包含一个可选端口号,该端口号与主机本身具有冒号(:)个字符)。
[in] PortNumber
包含要连接到的 TCP 端口号。 设置为 LDAP_SSL_PORT 以获取默认端口 636。 如果主机名包含端口号,则忽略此参数。
[in] secure
如果为非零,则函数使用 SSL 加密。 如果值为 0,则函数建立纯 TCP 连接并使用明文(无加密)。
返回值
如果函数成功,它将以指向 LDAP 结构的指针的形式返回会话句柄。 不再需要会话句柄时,必须通过调用 ldap_unbind 来释放会话句柄。
如果函数失败,则返回值 NULL。 使用 LdapGetLastError 检索错误代码。
言论
调用 ldap_sslinit 以创建到安全 LDAP 服务器的连接块。 HostName 参数可以 NULL 在这种情况下,运行时会尝试查找“默认”LDAP 服务器。 主机按列出的顺序尝试,停止并停止第一个成功连接。
如果 主机名 设置为 NULL 或域名,则会自动重新连接。 如果连接的 DC 因某种原因在连接生存期内停止运行,LDAP 将自动重新连接到指定域中的另一个 DC。 可以使用默认打开的 LDAP_OPT_AUTO_RECONNECT 会话选项来关闭或打开此行为。
如果将全局编录端口号作为参数之一传递给 ldap_sslinit,则为该端口号传递的 主机名 必须是基础调用 DsGetDcName 的林的名称,才能在企业中正确找到 GC。
该函数分配 LDAP 结构来维护会话的状态信息,并返回此结构的句柄。 在会话过程中,将此句柄传递给后续 LDAP 函数调用。
多线程处理:对 ldap_sslinit 的调用是线程安全的。
Microsoft通过其 SSPI 功能实现安全功能,如 SSL。
注意
winldap.h 标头将ldap_sslinit定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows Vista |
支持的最低服务器 | Windows Server 2008 |
目标平台 | 窗户 |
标头 | winldap.h |
库 | Wldap32.lib |
DLL | Wldap32.dll |