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

另請參閱

域控制器和復寫管理功能

DsMakeSpn