Fungsi NPLogonNotify (npapi.h)

Catatan

API ini tidak digunakan lagi dan akan dihapus dalam rilis mendatang.

MPR memanggil fungsi ini untuk memberi tahu manajer kredensial bahwa peristiwa masuk telah terjadi, memungkinkan manajer kredensial untuk mengembalikan skrip masuk. Fungsi NPLogonNotify diimplementasikan oleh DLL manajer kredensial (lihat Keterangan).

Sintaks

DWORD NPLogonNotify(
  [in]  PLUID   lpLogonId,
  [in]  LPCWSTR lpAuthentInfoType,
  [in]  LPVOID  lpAuthentInfo,
  [in]  LPCWSTR lpPreviousAuthentInfoType,
  [in]  LPVOID  lpPreviousAuthentInfo,
  [in]  LPWSTR  lpStationName,
  [in]  LPVOID  StationHandle,
  [out] LPWSTR  *lpLogonScript
);

Parameter

[in] lpLogonId

Arahkan ke pengidentifikasi sesi yang baru saja masuk.

[in] lpAuthentInfoType

Penunjuk ke string yang mengidentifikasi jenis struktur yang ditujukkan oleh lpAuthentInfo.

Ketika Microsoft adalah pengautentikasi utama, salah satu string berikut ditentukan untuk masuk pengontrol interaktif dan layanan.

MSV1_0:Interactive
Kerberos:Interactive

[in] lpAuthentInfo

Penunjuk ke struktur yang berisi kredensial yang digunakan untuk berhasil masuk pengguna melalui pengautentikasi utama.

Ketika Microsoft adalah pengautentikasi utama (yaitu, ketika lpAuthentifoType adalah "MSV1_0:Interactive" atau "Kerberos:Interactive"), struktur yang digunakan MSV1_0_INTERACTIVE_LOGON atau KERB_INTERACTIVE_LOGON.

[in] lpPreviousAuthentInfoType

Penunjuk ke string yang mengidentifikasi jenis struktur yang diacu oleh lpPreviousAuthentInfo. Jika pointer adalah NULL, tidak ada informasi sebelumnya. Nilai yang diharapkan di sini sama dengan yang ada di lpAuthentInfoType.

Ketika Microsoft adalah pengautentikasi utama, string berikut ditentukan untuk masuk pengontrol interaktif dan layanan.

MSV1_0:Interactive

[in] lpPreviousAuthentInfo

Penunjuk ke struktur yang berisi kredensial yang digunakan sebelum informasi autentikasi berubah. Informasi sebelumnya diberikan jika pengguna dipaksa untuk mengubah kata sandi (atau informasi autentikasi lainnya) sebelum masuk. Jika pengguna tidak dipaksa untuk mengubah informasi autentikasi, penunjuk ini adalah NULL. Nilai yang diharapkan di sini sama dengan yang ada di lpAuthentInfo.

Saat Microsoft adalah pengautentikasi utama, struktur yang digunakan MSV1_0_INTERACTIVE_LOGON atau KERB_INTERACTIVE_LOGON.

[in] lpStationName

Penunjuk ke string yang menentukan nama stasiun tempat pengguna masuk. Nama stasiun dapat digunakan untuk menentukan apakah informasi tambahan (khusus penyedia) dapat diperoleh.

Ketika Microsoft adalah pengautentikasi utama, salah satu string berikut akan ditentukan.

Nilai Makna
WinSta_0
Menunjukkan bahwa ini adalah masuk interaktif melalui stasiun jendela. Dalam hal ini, StationHandle adalah HWND ke kotak dialog induk.
SvcCtl
Menunjukkan bahwa ini adalah masuk yang dimulai oleh pengontrol Layanan. StationHandle tidak digunakan dalam kasus ini.

[in] StationHandle

Nilai 32-bit yang maknanya tergantung pada nama (dan akibatnya, jenis) stasiun yang ditentukan dalam lpStationName.

Nilai Makna
WinSta_0
Handel ke kotak dialog pemilik (hwndOwner) yang saat ini ditampilkan di layar.
SvcCtl
Data acak. Jangan gunakan.

[out] lpLogonScript

Penunjuk ke lokasi di mana penunjuk ke string yang dihentikan null dapat dikembalikan.

Setelah fungsi selesai, nilai ini dapat menunjuk ke string yang dihentikan null yang berisi nama program untuk dijalankan ditambah parameter apa pun yang diperlukan program. LocalAlloc harus digunakan untuk mengalokasikan memori untuk string yang dikembalikan. Memori ini akan dibebaskan oleh MPR ketika tidak lagi diperlukan.

Nilai kembali

Jika fungsi berhasil, fungsi akan mengembalikan WN_SUCCESS.

Jika fungsi gagal, fungsi mengembalikan kode kesalahan, yang bisa menjadi salah satu dari yang berikut ini.

Menampilkan kode Deskripsi
WN_NOT_SUPPORTED

NPLogonNotify tidak didukung oleh manajer kredensial.

WN_NO_NETWORK
Jaringan tidak ada.
WN_FUNCTION_BUSY
Manajer kredensial masih menginisialisasi dan belum siap untuk dipanggil.

Keterangan

Fungsi NPLogonNotify diimplementasikan oleh manajer kredensial untuk menerima pemberitahuan saat informasi autentikasi berubah.

Setiap manajer kredensial diizinkan untuk mengembalikan string baris perintah tunggal yang dapat digunakan untuk menjalankan skrip masuk (implementasinya tidak boleh memanggil LogonUser atau memuat profil pengguna secara langsung). Buffer string ini dialokasikan oleh manajer kredensial. MPR bertanggung jawab untuk membebaskannya. String yang dikembalikan dalam lpLogonScript harus berisi semua informasi yang diperlukan untuk menjalankan skrip sebagai baris perintah yang diteruskan ke CreateProcess.

Jika string memerlukan prosesor perintah untuk memproses string, seperti dalam kasus perintah atau file batch, maka string harus diawali dengan cmd /C.

Skrip masuk akan dijalankan dalam konteks pengguna saat profil pengguna tersedia. Namun, variabel lingkungan yang ditetapkan tidak akan bersifat global dan tidak akan tersedia untuk shell awal (misalnya, Manajer Program) atau program lain yang dijalankan atas nama pengguna.

Persyaratan

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

Lihat juga

CreateProcess

LocalAlloc

MSV1_0_INTERACTIVE_LOGON

NPGetCaps

NPPasswordChangeNotify