共用方式為


目錄服務函式 (AD DS)

目錄服務函式提供公用程式,用於在 Windows NT 或 Windows 2000 網域中尋找域控制器。。 此架構會與所有 Windows NT 和 Windows 2000 版本中的客戶端和伺服器互動。 下列函式可讓開發人員使用目錄服務中的域控制器和網域成員資格:

DC 定位器 DsGetDcName 是由 Netlogon 服務實作。 每個 DC 都會使用傳輸特定機制,在 DNS 伺服器上註冊其 DNS 名稱及其 NetBIOS 名稱,例如在 WINS 中。 DC 定位器會查閱名稱,然後將數據報傳送至或 ping 註冊名稱的 DC。 針對 NetBIOS 功能變數名稱,數據報是 mailslot 訊息。 對於 DNS 功能變數名稱,數據報是LDAP UDP 搜尋。 每個這類DC都會回應,指出它目前正在運作。 第一個要回應的DC會傳回給呼叫端。

傳回的DC會快取,讓後續呼叫端不需要重複上述演算法,並鼓勵所有呼叫端使用相同的DC。 這可確保單一用戶端具有DC內容的一致檢視。

依 DNS 功能變數名稱搜尋 DC 時,DC 定位器會嘗試在「最接近」的站台中尋找 DC。 每個 DC 都會註冊其他 DNS 記錄,指出 DC 位於哪個網站,以及 DC 包含哪些網站。 DC 定位器會先搜尋此網站特定的 DNS 記錄,再搜尋非網站特定的 DNS 記錄,因此偏好在該網站中使用 DC。 當 DC 定位器將數據報傳送至 DC 時,DC 會在 DS 的 Configuration/Sites/Subnet 容器中查閱用戶端的 IP 位址,以尋找子網物件。 subnet 物件的 siteObject 屬性會定義包含用戶端的月臺名稱。 DC 會以包含用戶端的月臺名稱回應 ping,以及此 DC 是否涵蓋該站臺的指標。 如果DC未包含該月臺,且DC定位器尚未嘗試在該站台中尋找DC,DC定位器會再次嘗試在站台中尋找DC。

若要尋找包含客戶端的網站名稱,請使用 DsGetSiteName 函式。 Configuration/Sites/Subnet 容器中對象的名稱必須是有效的子網名稱。 DsValidateSubnetName 函式會指出指定的子網名稱是否有效。