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 で証明書が指定されている場合、pszDomain は NULL になります。
[in] domainBufferSize
pszDomain 文字列に書き込む最大文字数 (終端の null 文字を含む)。
戻り値
この関数は、次を返します。
- NO_ERROR
ユーザー名は有効です。
- ERROR_INVALID_ACCOUNT_NAME
ユーザー名が無効です。
- ERROR_INSUFFICIENT_BUFFER
バッファーの 1 つが小さすぎます。
- ERROR_INVALID_PARAMETER
- ulUserMaxChars または ulDomainMaxChars は 0 です。
- pszUserName、 pszUser、または pszDomain が NULL です。
注釈
この関数は 、CredUIPromptForCredentials 関数と CredUICmdLinePromptForCredentials 関数によって返されるユーザー名情報を解析し、結果として得られる資格情報を、個別の文字列としてユーザー名とドメインを必要とする LogonUser などの関数に渡すことができるようにします。
次の形式がサポートされています。
- <MarshalledCredentialReference>
CredIsMarshaledCredential によって定義されたマーシャリングされた資格情報参照。 このような資格情報は 、User パラメーターで返されます。 Domain パラメーターは空の文字列に設定されています。
- <DomainName>\<UserName>
<UserName> は User パラメーターで返され、 <DomainName> は Domain パラメーターとして返されます。 UserName に円記号 (\) が含まれている場合、名前にはこの構文があると見なされます。
- <UserName>@<DNSDomainName>
文字列全体が User パラメーターで返されます。 Domain パラメーターは空の文字列に設定されています。 この構文では、文字列の最後の @ が使用 <されます。UserName> には @ を含めることができますが、 <DNSDomainName> は使用できないためです。
注意
wincred.h ヘッダーは CredUIParseUserName をエイリアスとして定義します。このエイリアスは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | wincred.h |
Library | Credui.lib |
[DLL] | Credui.dll |