CredUIParseUserNameA 函式 (wincred.h)
CredUIParseUserName 函式會從完整用戶名稱中擷取網域和用戶帳戶名稱。
語法
CREDUIAPI DWORD CredUIParseUserNameA(
[in] PCSTR userName,
[out] CHAR *user,
[in] ULONG userBufferSize,
[out] CHAR *domain,
[in] ULONG domainBufferSize
);
參數
[in] userName
null終止字串的指標,其中包含要剖析的用戶名稱。 名稱必須是UPN或下層格式,或是憑證。 一般而言,pszUserName 會從 CredUIPromptForCredentials 或 CredUICmdLinePromptForCredentials接收。
[out] user
null終止字串的指標,該字串會接收用戶帳戶名稱。
[in] userBufferSize
要寫入 pszUser 字串的最大字元數,包括終止 null 字元。
[out] domain
接收功能變數名稱之 null終止字串的指標。 如果 pszUserName
[in] domainBufferSize
要寫入 pszDomain 字串的最大字元數,包括終止 null 字元。
傳回值
此函式會傳回下列內容:
- NO_ERROR
用戶名稱有效。
- ERROR_INVALID_ACCOUNT_NAME
使用者名稱無效。
- ERROR_INSUFFICIENT_BUFFER
其中一個緩衝區太小。
- ERROR_INVALID_PARAMETER
- ulUserMaxChars 或 ulDomainMaxChars 為零。
- pszUserName、pszUser或 pszDomainNULL。
言論
此函式會剖析 CredUIPromptForCredentials 和 CredUICmdLinePromptForCredentials 函式傳回的使用者名稱資訊,以便將產生的認證傳遞至函式,例如 LogonUser,需要使用者名稱和網域做為個別字串。
支援下列格式:
-
<MarshalledCredentialReference>
CredIsMarshaledCredential所定義的封送處理認證參考。 這類認證會在 User 參數中傳回。 Domain 參數會設定為空字串。
-
<DomainName>\<UserName>
<UserName> 會在 User 參數中傳回,而且傳回 <DomainName> 是 Domain 參數。 如果 UserName 包含反斜杠 (\), 名稱就會被視為具有此語法。
-
<UserName>@<DNSDomainName>
整個字串會在 User 參數中傳回。 Domain 參數會設定為空字串。 針對此語法,會使用字串中的最後一個 @ ,因為 <UserName> 可以包含 @,但無法 <DNSDomainName>。
注意
wincred.h 標頭會根據 UNICODE 預處理器常數的定義,將 CredUIParseUserName 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
支援的最低伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平臺 | 窗戶 |
標頭 | wincred.h |
連結庫 | Credui.lib |
DLL | Credui.dll |