共用方式為


ldap_open函式 (winldap.h)

[ldap_open 可用於需求一節中指定的作業系統;不過,不建議使用。 請改用 ldap_init。]

ldap_open函式會建立並初始化連線區塊,然後開啟與 LDAP 伺服器的連線。

語法

WINLDAPAPI LDAP *LDAPAPI ldap_open(
  [in] PSTR  HostName,
  [in] ULONG PortNumber
);

參數

[in] HostName

Null 終止字串的指標。 功能變數名稱、主機名稱清單,或代表 LDAP 伺服器主機 IP 位址的虛線字串。 使用單一空格來分隔清單中的主機名稱。 清單中的每個主機名稱後面可能會加上端口號碼。 選擇性埠號碼與主機本身分隔,冒號 (:) 。 LDAP 執行時間會依列出的順序嘗試與主機連線,並在成功連線時停止。 請注意,在返回呼叫端之前 ,只有ldap_open 嘗試進行連線。 函 式ldap_init 不會連線到 LDAP 伺服器。

[in] PortNumber

包含要連線的 TCP 埠號碼。 您可以藉由提供常數 LDAP_PORT來取得預設 LDAP 埠 389。 如果主機名稱包含埠號碼,則會忽略此參數。

傳回值

如果函式成功,它會以 LDAP 資料結構的指標形式傳回會話控制碼。 不再需要時,請釋放會話控制碼,並呼叫 ldap_unbind

如果函式失敗,則會傳回 Null。 使用 LdapGetLastError 函 式來擷取錯誤碼。

備註

呼叫 ldap_open 以建立 LDAP 伺服器的連線區塊。 HostName可以是Null,在此情況下,執行時間會嘗試尋找預設 LDAP 伺服器。 主機名稱會依照列出的順序嘗試,並停止並成功連線。 對於 Active Directory 伺服器, DsGetDcName 函式可用來取得伺服器的名稱,然後可以當做 HostName 參數傳遞,而不是使用 Null

如果 HostName 設定為 Null 或功能變數名稱,則會自動重新連線。 如果連線的 DC 因連線存留期的某些原因而停止運作,LDAP 會自動重新連線到指定網域中的另一個 DC。 此行為可以使用 預設開啟的 LDAP_OPT_AUTO_RECONNECT 會話選項來關閉或開啟。

當您使用 LDAP_OPT_HOST_NAME時,預設 LDAP 伺服器是 Microsoft 特定選項。 此選項會指定預設 LDAP 伺服器的主機名稱,並分別傳回 Unicode 或 ANSI 中的伺服器主機名稱,視 使用ldap_get_optionWldap_get_optionA而定。

如果通用類別目錄埠號碼傳遞至 ldap_open 做為其中一個引數,則針對該埠號碼傳遞的 HostName 必須是樹系的名稱, DsGetDcName () 的基礎呼叫才能正確尋找企業中的 GC。

ldap_open函式會配置 LDAP 資料結構來維護會話的狀態資料,並傳回此結構的控制碼。 將此控制碼傳遞至會話期間後續的 LDAP 函式呼叫。

多執行緒: 對ldap_open 的呼叫是安全線程的。

請注意,目前 LDAP RFC 已大幅取代ldap_open,因為它會立即開啟網域控制站的會話,而不會讓呼叫應用程式有機會設定任何會話選項,例如 (,而且最重要的是) 安全性相關的會話選項。 建議使用者使用 ldap_init 作為初始化 LDAP 會話的慣用方法。
 

規格需求

   
最低支援的用戶端 Windows Vista
最低支援的伺服器 Windows Server 2008
目標平台 Windows
標頭 winldap.h
程式庫 Wldap32.lib
Dll Wldap32.dll

請參閱

函式

LdapGetLastError

cldap_open

ldap_init

ldap_unbind