SecMakeSPN 函式 (ntifs.h)

SecMakeSPN 會建立服務提供者名稱字串,可在與特定安全性服務提供者通訊時使用。

語法

KSECDDDECLSPEC NTSTATUS SecMakeSPN(
  [in]            IN PUNICODE_STRING     ServiceClass,
  [in]            IN PUNICODE_STRING     ServiceName,
  [in, optional]  IN PUNICODE_STRING     InstanceName,
  [in, optional]  IN USHORT              InstancePort,
  [in, optional]  IN PUNICODE_STRING     Referrer,
  [in, out]       IN OUT PUNICODE_STRING Spn,
  [out, optional] OUT PULONG             Length,
  [in]            IN BOOLEAN             Allocate
);

參數

[in] ServiceClass

Unicode 字串的指標,指定安全性服務提供者的服務類別。

[in] ServiceName

Unicode 字串的指標,指定安全性服務提供者的服務名稱。

[in, optional] InstanceName

選擇性 Unicode 字串的指標,指定與安全性服務提供者聯機的實例名稱。

[in, optional] InstancePort

服務的實例埠號碼。 針對預設埠使用 0。 如果此參數為零,SPN 不會包含埠號碼。

[in, optional] Referrer

常數 Null 終止字串的指標,指定提供 IP 位址轉介之主機的 DNS 名稱。 除非 ServiceName 參數指定 IP 位址,否則會忽略此參數。

[in, out] Spn

Unicode 字串的指標,用來儲存此函式所建立的安全性服務提供者名稱字串。

[out, optional] Length

ULONG 的指標,接收所建立SPN的實際長度,包括終止 Null 字元。

[in] Allocate

布爾值變數,指出此函式是否應該配置儲存 Spn Unicode 字串的記憶體。 如果此參數為 true,Spn 的記憶體將會從分頁集區配置。

傳回值

SecMakeSPN 會在成功時傳回STATUS_SUCCESS,或在失敗時傳回下列其中一個錯誤碼。

傳回碼 Description
STATUS_BUFFER_OVERFLOW Allocate 參數已設定為 false,且發生下列其中一個條件: (1) Spn 參數是 NULL 指標。 (2) Spn Unicode 字串參數的最大長度太小。
STATUS_INVALID_PARAMETER Spn 參數的總長度超過 65535 個字節。
STATUS_NO_MEMORY Allocate 參數已設定為 true,但記憶體配置要求失敗。

規格需求

需求
目標平台 Universal
標頭 ntifs.h (包括 Ntifs.h、FltKernel.h)
程式庫 Ksecdd.lib
IRQL <= APC_LEVEL

另請參閱

SecMakeSPNEx

SecMakeSPNEx2