共用方式為


DsBindByInstanceA 函式 (ntdsapi.h)

DsBindByInstance 函式會明確系結至任何 AD LDS 或 Active Directory 實例。

語法

NTDSAPI_POSTXP DWORD DsBindByInstanceA(
  [in]           LPCSTR                   ServerName,
  [in]           LPCSTR                   Annotation,
  [in]           GUID                     *InstanceGuid,
  [in]           LPCSTR                   DnsDomainName,
  [in, optional] RPC_AUTH_IDENTITY_HANDLE AuthIdentity,
  [in, optional] LPCSTR                   ServicePrincipalName,
  [in, optional] DWORD                    BindFlags,
  [out]          HANDLE                   *phDS
);

參數

[in] ServerName

指定實例名稱之 Null 終止字串的指標。 需要此參數才能系結至 AD LDS 實例。 如果系結至 Active Directory 實例時,這個參數 NULL,則 DnsDomainName 參數必須包含值。 如果此參數和 DnsDomainName 參數都 NULL,則函式會失敗,傳回值 ERROR_INVALID_PARAMETER (87)。

[in] Annotation

Null 終止字串的指標,指定系結至 Active Directory 實例時,AD LDS 實例的埠號碼或 NULL。 例如,“389”。

如果這個參數在依網域系結至 Active Directory 實例時 NULL,則必須指定 DnsDomainName 參數。 如果系結至 AD LDS 實例時,這個參數 NULL,則必須指定 InstanceGuid 參數。

[in] InstanceGuid

包含AD LDS 實例 GUIDGUID 值的指標。 GUID 值是 實例 nTDSDSA 物件的 objectGUID 属性。 如果系結至 AD LDS 實例時,這個參數 NULL,則必須指定 Annotation 參數。

[in] DnsDomainName

當依網域系結至 Active Directory 實例時,以 Null 終止字串的指標,指定網域的 DNS 名稱。 將此參數設定為 NULL,以依伺服器或 AD LDS 實例系結至 Active Directory 實例。

[in, optional] AuthIdentity

用來啟動 RPC 作業階段的認證句柄。 使用 DsMakePasswordCredentials 函式來建立適合 AuthIdentity的結構。

[in, optional] ServicePrincipalName

Null 終止字串的指標,指定要指派給客戶端的服務主體名稱。 在 ServicePrincipalName 中傳遞 NULL 相當於呼叫 DsBindWithCred 函式。

[in, optional] BindFlags

包含一組旗標,可定義此函式的行為。 此參數可以包含零或下列一或多個值的組合。

NTDSAPI_BIND_ALLOW_DELEGATION (1)

導致系結使用委派模擬層級。 這可讓需要委派的作業,例如 DsAddSidHistory成功。 指定此旗標也會導致 DsBindWithSpnEx 運作,類似於 dsBindWithSpn

如果未指定此旗標,系結將會使用模擬模擬層級。 如需模擬層級的詳細資訊,請參閱 模擬層級

大部分的作業不需要委派模擬層級;只有在需要時,才應該指定這個旗標。 系結至具有委派模擬層級的 Rogue 伺服器,可讓 Rogue 伺服器使用您的認證連線到非流氓伺服器,並執行非預期作業。

NTDSAPI_BIND_FORCE_KERBEROS (4)

Active Directory 輕量型目錄服務:如果指定此旗標,DsBindWithSpnEx 需要使用 Kerberos 驗證。 如果無法建立 Kerberos 驗證,DsBindWithSpnEx 將不會嘗試使用任何其他機制進行驗證。

[out] phDS

接收系結句柄之 HANDLE 值的位址。 若要關閉此句柄,請呼叫 DsUnBind

傳回值

如果成功或 RPC 或 Win32 錯誤,則傳回 NO_ERROR 否則傳回 。 可能的錯誤碼包括下列清單中所列的錯誤碼。

言論

下列清單列出系結至 實例的必要參數值。

實例 ServerName 註釋 InstanceGuid DnsDomainName
依伺服器排序的Active Directory 伺服器名稱 NULL NULL NULL
依網域的 Active Directory NULL NULL NULL DNS 功能變數名稱
依埠的 AD LDS 具有AD LDS 安裝之電腦的 DNS 名稱。 埠號碼 NULL NULL
GUID 的 AD LDS 具有AD LDS 安裝之電腦的 DNS 名稱。 NULL 實例 GUID NULL
 
注意 若要在具有數個 AD LDS 實例的計算機上系結至 AD LDS 實例時改善效能,請由實例 GUID 係結,而不是埠號碼。
 

注意

ntdsapi.h 標頭會根據 UNICODE 預處理器常數的定義,將 DsBindByInstance 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的 慣例。

要求

要求 價值
最低支援的用戶端 Windows Vista
支援的最低伺服器 Windows Server 2008
目標平臺 窗戶
標頭 ntdsapi.h
連結庫 Ntdsapi.lib
DLL Ntdsapi.dll