DsClientMakeSpnForTargetServerA 函式 (ntdsapi.h)
DsClientMakeSpnForTargetServer 函式會建構服務主體名稱 (SPN) ,以識別要用於驗證的特定伺服器。
語法
NTDSAPI DWORD DsClientMakeSpnForTargetServerA(
[in] LPCSTR ServiceClass,
[in] LPCSTR ServiceName,
[in, out] DWORD *pcSpnLength,
[out] LPSTR 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 |