Bagikan melalui


Fungsi CredUIParseUserNameA (wincred.h)

Fungsi CredUIParseUserName mengekstrak domain dan nama akun pengguna dari nama pengguna yang sepenuhnya memenuhi syarat.

Sintaks

CREDUIAPI DWORD CredUIParseUserNameA(
  [in]  PCSTR userName,
  [out] CHAR  *user,
  [in]  ULONG userBufferSize,
  [out] CHAR  *domain,
  [in]  ULONG domainBufferSize
);

Parameter

[in] userName

Penunjuk ke string yang dihentikan null yang berisi nama pengguna yang akan diurai. Nama harus dalam format UPN atau tingkat bawah, atau sertifikat. Biasanya, pszUserName diterima dari CredUIPromptForCredentials atau CredUICmdLinePromptForCredentials.

[out] user

Penunjuk ke string yang dihentikan null yang menerima nama akun pengguna.

[in] userBufferSize

Jumlah maksimum karakter untuk ditulis ke string pszUser termasuk karakter null yang mengakhiri.

Catatan CREDUI_MAX_USERNAME_LENGTH TIDAK menyertakan karakter null yang dihentikan.
 

[out] domain

Penunjuk ke string yang dihentikan null yang menerima nama domain. Jika pszUserName menentukan sertifikat, pszDomain akan menjadi NULL.

[in] domainBufferSize

Jumlah karakter maksimum untuk ditulis ke string pszDomain termasuk karakter null yang mengakhiri.

Catatan CREDUI_MAX_DOMAIN_TARGET_LENGTH TIDAK menyertakan karakter null yang dihentikan.
 

Nilai kembali

Fungsi ini mengembalikan hal berikut:

  • NO_ERROR

    Nama pengguna valid.

  • ERROR_INVALID_ACCOUNT_NAME

    Nama pengguna tidak valid.

  • ERROR_INSUFFICIENT_BUFFER

    Salah satu buffer terlalu kecil.

  • ERROR_INVALID_PARAMETER
    • ulUserMaxChars atau ulDomainMaxChars adalah nol.
    • pszUserName, pszUser, atau pszDomain adalah NULL.

Keterangan

Fungsi ini mengurai informasi nama pengguna yang dikembalikan oleh fungsi CredUIPromptForCredentials dan CredUICmdLinePromptForCredentials sehingga kredensial yang dihasilkan dapat diteruskan ke fungsi, seperti LogonUser, yang memerlukan nama pengguna dan domain sebagai string terpisah.

Format berikut didukung:

  • <MarshalledCredentialReference>

    Referensi kredensial marshaled seperti yang didefinisikan oleh CredIsMarshaledCredential. Kredensial semacam itu dikembalikan dalam parameter Pengguna . Parameter Domain diatur ke string kosong.

  • <DomainName>\<UserName>

    <UserName> dikembalikan dalam parameter Pengguna dan <DomainName> dikembalikan adalah parameter Domain . Nama dianggap memiliki sintaks ini jika UserName berisi garis miring terbelakang (\).

  • <UserName>@<DNSDomainName>

    Seluruh string dikembalikan dalam parameter Pengguna . Parameter Domain diatur ke string kosong. Untuk sintaks ini, @ terakhir dalam string digunakan karena <UserName> dapat berisi @ tetapi <DNSDomainName> tidak dapat.

Catatan

Header wincred.h mendefinisikan CredUIParseUserName sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header wincred.h
Pustaka Credui.lib
DLL Credui.dll

Lihat juga

CredIsMarshaledCredential

CredUICmdLinePromptForCredentials

CredUIPromptForCredentials

LogonUser