Fungsi RasEapGetIdentity (raseapif.h)

Manajer koneksi RAS memanggil fungsi RasEapGetIdentity untuk mendapatkan informasi identitas untuk pengguna yang meminta autentikasi.

Sintaks

DWORD RasEapGetIdentity(
  [in]  DWORD       dwEapTypeId,
  [in]  HWND        hwndParent,
  [in]  DWORD       dwFlags,
  [in]  const WCHAR *pwszPhonebook,
  [in]  const WCHAR *pwszEntry,
  [in]  BYTE        *pConnectionDataIn,
  [in]  DWORD       dwSizeOfConnectionDataIn,
  [in]  BYTE        *pUserDataIn,
  [in]  DWORD       dwSizeOfUserDataIn,
  [out] BYTE        **ppUserDataOut,
  [out] DWORD       *pdwSizeOfUserDataOut,
  [out] WCHAR       **ppwszIdentityOut
);

Parameter

[in] dwEapTypeId

Menentukan protokol autentikasi untuk memanggil antarmuka pengguna identitas.

[in] hwndParent

Tangani ke jendela induk untuk dialog antarmuka pengguna. Jika parameter dwFlags berisi bendera RAS_EAP_FLAG_NON_INTERACTIVE, maka hwndParent adalah NULL.

[in] dwFlags

Menentukan nol atau lebih dari bendera berikut yang memenuhi syarat proses autentikasi.

Bendera Makna
RAS_EAP_FLAG_ROUTER
Menentukan bahwa komputer yang sedang memutar nomor adalah perute. Tidak adanya bendera ini menunjukkan bahwa komputer yang melakukan panggilan adalah klien RAS.
RAS_EAP_FLAG_NON_INTERACTIVE
Menentukan bahwa protokol autentikasi tidak boleh memunculkan antarmuka pengguna. Jika protokol autentikasi tidak dapat menentukan identitas dari data yang disediakan, protokol tersebut harus mengembalikan kode kesalahan, ERROR_INTERACTIVE_MODE. Jika bendera ini ditentukan, parameter hwndParent akan menjadi NULL.
RAS_EAP_FLAG_LOGON
Menentukan bahwa data pengguna diperoleh saat masuk ke sistem lokal, yaitu dari Winlogon.exe.
RAS_EAP_FLAG_PREVIEW
Menentukan bahwa pengguna harus dimintai informasi identitas sebelum memutar nomor.
RAS_EAP_FLAG_FIRST_LINK
Menunjukkan bahwa koneksi ini adalah tautan pertama dalam koneksi multilink. Lihat [Multilink dan Callback Connections](/windows/win32/eap/multilink-and-callback-connections) untuk informasi selengkapnya.
RAS_EAP_FLAG_MACHINE_AUTH
Menentukan bahwa proses autentikasi menggunakan kredensial mesin untuk autentikasi. Kredensial dapat berupa sertifikat, nama/kata sandi mesin seperti dalam kasus MSCHAPv2 atau cara lain untuk mengidentifikasi komputer. Jika protokol autentikasi tidak mendukung autentikasi komputer, protokol tersebut harus mengembalikan kesalahan ERROR_NOT_SUPPORTED.
RAS_EAP_FLAG_8021X_AUTH
Menentukan bahwa sesi ini dijalankan dalam konteks nirkabel.

[in] pwszPhonebook

Penunjuk ke string Unicode yang dihentikan null yang menentukan jalur lengkap file buku telepon (PBK). Jika parameter ini NULL, fungsi menggunakan buku telepon sistem.

[in] pwszEntry

Penunjuk ke string Unicode yang dihentikan null yang menentukan nama entri yang ada.

[in] pConnectionDataIn

Arahkan ke data khusus koneksi yang saat ini disimpan dalam entri buku telepon.

[in] dwSizeOfConnectionDataIn

Menentukan ukuran data khusus koneksi yang saat ini disimpan dalam entri buku telepon.

[in] pUserDataIn

Arahkan ke data khusus pengguna yang saat ini disimpan untuk pengguna ini di registri.

[in] dwSizeOfUserDataIn

Menentukan ukuran data khusus pengguna yang saat ini disimpan untuk pengguna ini di registri.

[out] ppUserDataOut

Arahkan ke penunjuk yang, saat berhasil dikembalikan, menunjuk ke data identitas untuk pengguna. Data ini akan diteruskan ke protokol autentikasi di anggota pUserDataPPP_EAP_INPUT selama panggilan ke RasEapBegin.

Protokol autentikasi harus mengalokasikan buffer memori untuk data identitas. RAS akan membebaskan memori ini dengan memanggil RasEapFreeMemory.

[out] pdwSizeOfUserDataOut

Penunjuk ke variabel DWORD yang menerima ukuran data yang diacu oleh parameter ppUserDataOut .

[out] ppwszIdentityOut

Penunjuk ke penunjuk yang, saat berhasil dikembalikan, menunjuk ke string Unicode yang dihentikan null yang mengidentifikasi pengguna yang meminta autentikasi. String ini diteruskan ke protokol autentikasi di anggota pszIdentityPPP_EAP_INPUT selama panggilan ke RasEapBegin.

Mengembalikan nilai

Jika fungsi berhasil, nilai yang dikembalikan adalah NO_ERROR.

Jika fungsi tidak dapat mengalokasikan memori untuk data pengguna, nilai yang dikembalikan harus ERROR_NOT_ENOUGH_MEMORY.

Jika fungsi dipanggil dengan bendera RAS_EAP_FLAG_NON_INTERACTIVE, tetapi harus memanggil antarmuka pengguna untuk menentukan identitas pengguna, fungsi harus mengembalikan ERROR_INTERACTIVE_MODE.

Jika fungsi gagal dengan cara lain, nilai pengembalian harus menjadi kode kesalahan yang sesuai dari Winerror.h, Raserror.h, atau Mprerror.h.

Keterangan

DLL yang mengimplementasikan RasEapGetIdentity dan RasEapFreeMemory dapat mendukung lebih dari satu protokol autentikasi. Parameter dwEapTypeId menentukan protokol mana yang akan memanggil antarmuka pengguna identitas.

Protokol IEEE 802.1X dan PPP tidak memanggil RasEapGetIdentity tanpa implementasi RasEapFreeMemory.

Protokol autentikasi menerima data yang dikembalikan dari RasEapGetIdentity di anggota pUserDataPPP_EAP_INPUT selama RasEapBegin. Untuk menyimpan data untuk pengguna ini di registri, protokol autentikasi harus mengatur anggota pUserDataPPP_EAP_OUTPUT untuk menunjuk ke data, dan anggota fSaveUserDatadari PPP_EAP_OUTPUT ke TRUE.

Fungsi ini dipanggil oleh fungsi RAS, RasGetEapUserIdentity.

Jika RasEapGetIdentity menampilkan antarmuka pengguna, antarmuka pengguna harus mendukung pesan WM_COMMAND di mana LOWORD(wParam) sama dengan IDCANCEL.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header raseapif.h

Lihat juga

Fungsi EAP

Referensi Protokol Autentikasi yang Dapat Diperluas

Mendapatkan Informasi Identitas

PPP_EAP_INPUT

RasEapFreeMemory

RasEapMakeMessage

RasGetEapUserIdentity