DsC (dsparse.h)

DsC) Spn 函式會將服務主體名稱剖析 (SPN) 。

語法

DSPARSE DWORD DsCrackSpnA(
  [in]                LPCSTR  pszSpn,
  [in, out, optional] LPDWORD pcServiceClass,
  [out, optional]     LPSTR   ServiceClass,
  [in, out, optional] LPDWORD pcServiceName,
  [out, optional]     LPSTR   ServiceName,
  [in, out, optional] LPDWORD pcInstanceName,
  [out, optional]     LPSTR   InstanceName,
  [out, optional]     USHORT  *pInstancePort
);

參數

[in] pszSpn

常數 Null 終止字串的指標,其中包含要剖析的 SPN。 SPN 具有下列格式,其中 <必須存在服務類別> 和 <實例名稱> 元件,而且 <埠號碼> 和服務 <名稱> 元件是選擇性的。 埠 <號碼> 元件必須是數值字串值。

<service class>/<instance name>:<port number>/<service name>

[in, out, optional] pcServiceClass

在專案上,DWORD 值的指標包含 ServiceClass 緩衝區的大小,包括終止的 Null 字元。 結束時,此參數會包含 ServiceClass 字串中的 TCHAR 數目,包括終止的 Null 字元。

如果此參數為 NULL、包含零,或 ServiceClassNULL,則會忽略此參數和 ServiceClass

若要取得 ServiceClass 字串所需的字元數,包括 Null 終止符,請使用有效的 SPN、非 NULLServiceClass 和此參數設定為 1 呼叫此函式。

[out, optional] ServiceClass

TCHAR 緩衝區的指標,接收包含 <SPN 服務類別>元件的 Null 終止字串。 此緩衝區的大小必須至少 為 *pcServiceClass TCHAR 。 如果不需要服務類別,此參數可能是 NULL

[in, out, optional] pcServiceName

在專案上,DWORD 值的指標包含 ServiceName 緩衝區的大小,包括終止 Null 字元。 結束時,此參數會包含 ServiceName 字串中的 TCHAR 數目,包括終止的 Null 字元。

如果此參數為 NULL,則包含零,或 ServiceNameNULL,則會忽略此參數和 ServiceName

若要取得 ServiceName 字串所需的字元數,包括 Null 終止符,請使用有效的 SPN、非 NULLServiceName 和此參數設定為 1 呼叫此函式。

[out, optional] ServiceName

TCHAR 緩衝區的指標,接收包含 <SPN 服務名稱>元件的 Null 終止字串。 此緩衝區的大小必須至少 為 *pcServiceName TCHAR 。 <如果SPN中沒有服務名稱>元件,此緩衝區會<接收實例名稱>元件。 如果不需要服務名稱,這個參數可能是 NULL

[in, out, optional] pcInstanceName

在專案上,DWORD 值的指標包含 InstanceName 緩衝區的大小,包括終止的 Null 字元。 結束時,此參數會包含 InstanceName 字串中的 TCHAR 數目,包括終止的 Null 字元。

如果此參數為 NULL、包含零,或 InstanceNameNULL,則會忽略此參數和 InstanceName

若要取得 InstanceName 字串所需的字元數,包括 Null 終止符,請使用有效的 SPN、非 NULLInstanceName 和此參數設定為 1 呼叫此函式。

[out, optional] InstanceName

TCHAR 緩衝區的指標,接收包含 <SPN 實例名稱>元件的 Null 終止字串。 此緩衝區的大小必須至少 為 *pcInstanceName TCHAR 。 如果不需要實例名稱,這個參數可能是 NULL

[out, optional] pInstancePort

接收 SPN 之埠號碼>元件整數值的 DWORD 值<指標。 如果SPN不包含 <埠號碼> 元件,此參數會收到零。 如果不需要埠號碼,此參數可能是 NULL

傳回值

傳回 Win32 錯誤碼,包括下列專案。

備註

注意

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

規格需求

需求
最低支援的用戶端 Windows Vista
最低支援的伺服器 Windows Server 2008
目標平台 Windows
標頭 dsparse.h (包含 Ntdsapi.h)
程式庫 Ntdsapi.lib
Dll Ntdsapi.dll

另請參閱

域控制器和復寫管理功能