Fungsi WlxLoggedOutSAS (winwlx.h)

[Fungsi WlxLoggedOutSAS tidak lagi tersedia untuk digunakan pada Windows Server 2008 dan Windows Vista.]

Fungsi WlxLoggedOutSAS harus diimplementasikan oleh DLL GINA pengganti. Winlogon memanggil fungsi ini ketika menerima peristiwa urutan perhatian aman (SAS) saat tidak ada pengguna yang masuk.

Catatan DLL GINA diabaikan di Windows Vista.
 

Sintaks

int WlxLoggedOutSAS(
  [in]      PVOID                pWlxContext,
  [in]      DWORD                dwSasType,
  [out]     PLUID                pAuthenticationId,
  [in, out] PSID                 pLogonSid,
  [out]     PDWORD               pdwOptions,
  [out]     PHANDLE              phToken,
  [out]     PWLX_MPR_NOTIFY_INFO pNprNotifyInfo,
  [out]     PVOID                *pProfile
);

Parameter

[in] pWlxContext

Penunjuk ke konteks GINA yang terkait dengan stasiun jendela ini. GINA mengembalikan nilai konteks ini ketika Winlogon memanggil WlxInitialize untuk stasiun ini.

[in] dwSasType

Menentukan jenis SAS yang terjadi. Nilai dari nol hingga WLX_SAS_TYPE_MAX_MSFT_VALUE dicadangkan untuk menentukan jenis Microsoft SAS standar. Pengembang GINA dapat menentukan jenis SAS tambahan dengan menggunakan nilai yang lebih besar dari WLX_SAS_TYPE_MAX_MSFT_VALUE.

Jenis SAS berikut telah ditentukan sebelumnya.

Nilai Makna
WLX_SAS_TYPE_CTRL_ALT_DEL
Menunjukkan bahwa pengguna telah mengetik CTRL+ALT+DEL SAS standar.
WLX_SAS_TYPE_SC_INSERT
Menunjukkan bahwa kartu pintar telah dimasukkan ke dalam perangkat yang kompatibel.
WLX_SAS_TYPE_SC_REMOVE
Menunjukkan bahwa kartu pintar telah dihapus dari perangkat yang kompatibel.
WLX_SAS_TYPE_TIMEOUT
Menunjukkan bahwa tidak ada input pengguna yang diterima dalam periode waktu habis yang ditentukan.

[out] pAuthenticationId

Menentukan pengidentifikasi autentikasi yang terkait dengan sesi masuk saat ini. Anda bisa mendapatkan nilai ini dengan memanggil GetTokenInformation untuk mendapatkan struktur TOKEN_STATISTICS untuk token yang dikembalikan oleh fungsi LogonUser .

[in, out] pLogonSid

Pada input, parameter ini menunjuk ke pengidentifikasi keamanan (SID) yang unik untuk sesi masuk saat ini. Winlogon menggunakan SID ini untuk mengubah perlindungan pada stasiun jendela dan desktop aplikasi sehingga pengguna yang masuk baru dapat mengaksesnya.

Pada output, Winlogon menyediakan SID. Anda juga bisa mendapatkan SID dengan menggunakan fungsi GetTokenInformation untuk mengambil struktur TOKEN_GROUPS untuk token yang dikembalikan oleh fungsi LogonUser . Untuk melakukan ini, cari array yang dikembalikan dalam struktur TOKEN_GROUPS untuk grup dengan atribut SE_GROUP_LOGON_ID.

[out] pdwOptions

Penunjuk ke DWORD yang berisi sekumpulan opsi masuk. Opsi berikut didefinisikan.

Nilai Makna
WLX_LOGON_OPT_NO_PROFILE
Menunjukkan bahwa Winlogon tidak boleh memuat profil untuk pengguna yang masuk. DLL GINA akan mengurus aktivitas ini, atau pengguna tidak memerlukan profil.

[out] phToken

Penunjuk ke variabel handel. Ketika operasi masuk berhasil, atur handel ini ke token yang mewakili pengguna yang masuk. Gunakan fungsi LogonUser untuk mendapatkan token ini, lalu, ketika pengguna keluar, Winlogon menutup handel ini dan memanggil fungsi WlxLogoff .

Jika Anda memerlukan handel ini setelah memanggil fungsi WlxLogoff , buat duplikat handel sebelum mengembalikannya ke Winlogon.

[out] pNprNotifyInfo

Penunjuk ke struktur WLX_MPR_NOTIFY_INFO yang berisi informasi domain, nama pengguna, dan kata sandi untuk pengguna. Winlogon akan menggunakan informasi ini untuk memberikan informasi identifikasi dan autentikasi kepada penyedia jaringan.

GINA tidak diperlukan untuk mengembalikan informasi kata sandi. Setiap bidang NULL dalam struktur akan diabaikan oleh Winlogon. Gunakan LocalAlloc untuk mengalokasikan setiap string; Winlogon akan membebaskan mereka ketika mereka tidak lagi diperlukan.

GINA harus menyediakan nilai domain, pengguna, dan kata sandi untuk fungsionalitas Direktori Sesi lengkap. Jika kata sandi tidak disediakan, Direktori Sesi akan mengharuskan pengguna untuk memasukkan kata sandi dua kali sebelum pengguna terhubung ke server.

Untuk informasi tentang melindungi kata sandi, lihat Menangani Kata Sandi.

[out] pProfile

Saat kembali dari autentikasi yang berhasil, parameter pProfile menunjuk ke struktur WLX_PROFILE_V1_0 atau WLX_PROFILE_V2_0 . DWORD pertama dalam struktur menunjukkan struktur mana itu. Winlogon menggunakan struktur ini untuk memuat profil pengguna yang masuk, dan membebaskan memori yang terkait dengan struktur ketika tidak lagi membutuhkannya.

Nilai kembali

Jika fungsi gagal, fungsi mengembalikan nol.

Jika fungsi berhasil, fungsi mengembalikan salah satu nilai berikut.

Menampilkan kode Deskripsi
WLX_SAS_ACTION_LOGON
Menunjukkan bahwa pengguna telah masuk.
WLX_SAS_ACTION_NONE
Menunjukkan upaya yang dicatat tidak berhasil atau dibatalkan.
WLX_SAS_ACTION_SHUTDOWN
Menunjukkan pengguna yang meminta agar sistem dimatikan.

Keterangan

Sebelum memanggil WlxLoggedOutSAS, Winlogon mengatur status desktop sehingga desktop saat ini adalah desktop Winlogon dan mengatur status stasiun kerja sehingga desktop terkunci.

Jangan aktifkan program shell pengguna di WlxLoggedOutSAS. Program shell pengguna harus selalu diaktifkan di WlxActivateUserShell.

Persyaratan

   
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header winwlx.h

Lihat juga

WlxActivateUserShell

WlxInitialize