Menyesuaikan Winlogon

Konfigurasikan perilaku Winlogon dengan menerapkan Penyedia Kredensial. Untuk informasi tentang Penyedia Kredensial, lihat Antarmuka ICredentialProvider.

Windows Server 2003 dan Windows XP: Penyedia Kredensial tidak didukung.

Bagian berikut menjelaskan cara menyesuaikan Winlogon di versi Windows sebelum Windows Vista.

Nota

DLL GINA dan paket pemberitahuan Winlogon diabaikan di Windows Vista.

 

Paket Pemberitahuan Winlogon

Paket pemberitahuan Winlogon adalah DLL yang mengekspor fungsi yang menangani peristiwa Winlogon. Misalnya, ketika pengguna masuk ke sistem, Winlogon memanggil setiap paket pemberitahuan untuk memberikan informasi tentang peristiwa tersebut. Untuk informasi selengkapnya, lihat Paket Pemberitahuan Winlogon.

Rintisan GINA

Stub GINA adalah DLL GINA kustom yang menggunakan implementasi fungsi ekspor dari DLL GINA yang diinstal sebelumnya (biasanya MsGina.dll). Stub GINA menerima pointer ke setiap fungsi yang diekspor oleh DLL GINA yang diinstal sebelumnya. Setiap fungsi stub GINA kemudian menggunakan penunjuk fungsi yang sesuai untuk memanggil fungsi yang sesuai di DLL GINA yang diinstal sebelumnya.

Penting

Setiap fungsi stub GINA harus memanggil fungsi yang sesuai di GINA yang diinstal sebelumnya.

 

Fungsi stub GINA dapat menerapkan fungsionalitas tambahan dalam satu atau beberapa fungsi ekspornya. Misalnya, fungsi WlxLoggedOutSAS dari stub GINA mungkin memeriksa waktu saat ini sebelum memanggil fungsi WlxLoggedOutSAS dari MsGina.dll. Jika waktu saat ini berada dalam rentang tertentu, fungsi stub dapat menampilkan pesan yang menunjukkan log masuk tidak diizinkan selama periode waktu tersebut dan mengembalikan WLX_SAS_ACTION_NONE ke Winlogon. Fungsi WlxLoggedOutSAS dari MsGina.dll kemudian akan dipanggil hanya selama periode waktu yang diizinkan.

Aplikasi stub GINA menerima tabel pemanggilan untuk fungsi dukungan Winlogon melalui parameter pWinlogonFunctions dari fungsi WlxInitialize. Aplikasi stub GINA dapat menggunakan tabel pengiriman ini untuk memanggil fungsi dukungan Winlogon. Misalnya, aplikasi stub GINA dapat memanggil fungsi WlxSasNotify menyebabkan peristiwa urutan perhatian aman (SAS) ketika kartu pintar dimasukkan ke dalam pembaca .

Untuk informasi selengkapnya tentang membuat stub GINA, lihat sampel Gina Stubs di direktori \Samples\Security\Gina\GinaStub dari penginstalan Platform Software Development Kit (SDK).

Nota

Semua panggilan antara GINA dan Winlogon harus dalam satu utas.

 

GINA Hooks

Kait GINA adalah stub GINA yang, dalam implementasinya fungsi WlxInitialize, menggantikan pointer ke fungsi dukungan WlxDialogBoxParam dalam tabel pengiriman dengan penunjuk ke implementasinya sendiri dari fungsi WlxDialogBoxParam. Akibatnya, setiap kali GINA yang telah diinstal sebelumnya (biasanya MsGina.dll) memanggil fungsi WlxDialogBoxParam , maka fungsi yang diimplementasikan oleh kait GINA dipanggil.

Fungsi WlxDialogBoxParam yang diimplementasikan oleh kait GINA dapat menggantikan prosedur panggilan balikDialogProcyang merespons peristiwa kotak dialog tertentu.

Ini memberikan hook GINA kontrol penuh atas tampilan dan perilaku semua kotak dialog yang dibuat oleh MsGina.dll.

Untuk informasi lebih lanjut tentang membuat kait GINA, lihat contoh Gina Hooks di direktori \Samples\Security\Gina\GinaHook dalam penginstalan Platform SDK.

Nota

Semua panggilan antara GINA dan Winlogon harus dalam satu utas.