DsCrackSpnA 函式 (dsarse.h)
DsCrackSpn 函式會將服務主體名稱 (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
如果此參數 NULL,則包含零或 ServiceClassNULL,則會忽略此參數和 ServiceClass。
若要取得 ServiceClass 字串所需的字元數,包括 null 終止符,請使用有效的 SPN、非NULLServiceClass,並將此參數設定為 1。
[out, optional] ServiceClass
TCHAR 緩衝區的指標,該緩衝區會接收包含 SPN <服務類別> 元件的 null 終止字串。 此緩衝區的大小必須至少 *pcServiceClass TCHAR。 如果不需要服務類別,此參數可能會 NULL。
[in, out, optional] pcServiceName
DWORD 值的指標,在專案上,會包含 ServiceName 緩衝區 TCHARs的大小,包括終止的 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 緩衝區之 TCHAR的大小,包括終止的 Null 字元。 結束時,此參數包含
如果這個參數
若要取得 InstanceName 字串所需的字元數,包括 null 終止符,請使用有效的 SPN 呼叫此函式、非NULLInstanceName,並將此參數設定為 1。
[out, optional] InstanceName
TCHAR 緩衝區的指標,該緩衝區會接收包含 SPN <實例名稱> 元件的 null 終止字串。 此緩衝區必須至少 *pcInstanceName TCHAR 的大小。 如果不需要實例名稱,這個參數可能會 NULL。
[out, optional] pInstancePort
DWORD 值的指標,這個值會接收 SPN <埠號碼> 元件的整數值。 如果SPN不包含 <埠號碼> 元件,此參數會收到零。 如果不需要埠號碼,這個參數可能會 NULL。
傳回值
傳回 Win32 錯誤碼,包括下列專案。
言論
注意
dsparse.h 標頭會將 DsCrackSpn 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows Vista |
支援的最低伺服器 | Windows Server 2008 |
目標平臺 | 窗戶 |
標頭 | dsparse.h (包括 Ntdsapi.h) |
連結庫 | Ntdsapi.lib |
DLL | Ntdsapi.dll |