DsClientMakeSpnForTargetServerW 函式 (ntdsapi.h)

DsClientMakeSpnForTargetServer函式會建構服務主體名稱 (SPN) ,以識別要用於驗證的特定伺服器。

語法

NTDSAPI DWORD DsClientMakeSpnForTargetServerW(
  [in]      LPCWSTR ServiceClass,
  [in]      LPCWSTR ServiceName,
  [in, out] DWORD   *pcSpnLength,
  [out]     LPWSTR  pszSpn
);

參數

[in] ServiceClass

Null 終止字串的指標,其中包含服務所定義的服務類別。 這可以是服務唯一的任何字串。

[in] ServiceName

Null 終止字串的指標,其中包含 DNS) 主機名稱 (辨別名稱服務。 這可以是完整名稱或網際網路標準格式的 IP 位址。

不建議使用 ServiceName 的 IP 位址,因為這可能會造成安全性問題。 在建構 SPN 之前,IP 位址必須透過 DNS 名稱解析轉譯為電腦名稱稱。 DNS 名稱解析可能遭到詐騙,並將預期的電腦名稱稱取代為未經授權的電腦名稱稱。

[in, out] pcSpnLength

在專案上, DWORD 值的指標包含 pszSpn 緩衝區的大小,以字元為單位。 在輸出時,此參數會接收復制到 pszSpn 緩衝區的字元數,包括終止 的 Null

[out] pszSpn

接收 SPN 的字串緩衝區指標。

傳回值

此函式會傳回標準 Windows 錯誤碼。

備註

使用此函式時,請提供服務類別和 DNS 主機名稱的一部分。

此函式是 DsMakeSpn 函式的簡化版本。 ServiceName是透過 DNS 解析而成為標準。

不支援 GUID 型 DNS 名稱。 建構時,簡化的 SPN 如下所示:

ServiceClass / ServiceName / ServiceName

實例名稱部分 (第二個位置) 一律設為預設值。 不會使用埠和查閱者欄位。

注意

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

規格需求

   
最低支援的用戶端 Windows Vista
最低支援的伺服器 Windows Server 2008
目標平臺 Windows
標頭 ntdsapi.h
程式庫 Ntdsapi.lib
DLL Ntdsapi.dll

另請參閱

網域控制站和複寫管理功能

DsMakeSpn