Condividi tramite


Funzione NPLogonNotify (npapi.h)

Nota

Questa API è stata deprecata e verrà rimossa in una versione futura.

MPR chiama questa funzione per notificare a Gestione credenziali che si è verificato un evento di accesso, consentendo al gestore credenziali di restituire uno script di accesso. La funzione NPLogonNotify viene implementata da una DLL di Gestione credenziali (vedere La sezione Osservazioni).

Sintassi

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
);

Parametri

[in] lpLogonId

Puntatore all'identificatore della sessione appena connesso.

[in] lpAuthentInfoType

Puntatore a una stringa che identifica il tipo di struttura a cui punta lpAuthentInfo.

Quando Microsoft è l'autenticatore primario, viene specificata una delle stringhe seguenti per gli accessi interattivi e del controller di servizio.

MSV1_0:Interactive
Kerberos:Interactive

[in] lpAuthentInfo

Puntatore a una struttura che contiene le credenziali usate per registrare correttamente l'utente tramite l'autenticatore primario.

Quando Microsoft è l'autenticatore primario , ovvero quando lpAuthentifoType è "MSV1_0:Interactive" o "Kerberos:Interactive"), la struttura usata viene MSV1_0_INTERACTIVE_LOGON o KERB_INTERACTIVE_LOGON.

[in] lpPreviousAuthentInfoType

Puntatore a una stringa che identifica il tipo di struttura a cui punta lpPreviousAuthentInfo. Se il puntatore è NULL, non sono presenti informazioni precedenti. I valori previsti sono gli stessi di quelli in lpAuthentInfoType.

Quando Microsoft è l'autenticatore primario, viene specificata la stringa seguente per gli accessi interattivi e del controller di servizio.

MSV1_0:Interactive

[in] lpPreviousAuthentInfo

Puntatore a una struttura che contiene le credenziali usate prima della modifica delle informazioni di autenticazione. Le informazioni precedenti vengono fornite se l'utente è stato costretto a modificare la password (o altre informazioni di autenticazione) prima dell'accesso. Se l'utente non è stato costretto a modificare le informazioni di autenticazione, questo puntatore è NULL. I valori previsti sono gli stessi di quelli in lpAuthentInfo.

Quando Microsoft è l'autenticatore primario, la struttura utilizzata viene MSV1_0_INTERACTIVE_LOGON o KERB_INTERACTIVE_LOGON.

[in] lpStationName

Puntatore a una stringa che specifica il nome della stazione a cui l'utente ha eseguito l'accesso. Il nome della stazione può essere utilizzato per determinare se è possibile ottenere informazioni aggiuntive (specifiche del provider).

Quando Microsoft è l'autenticatore primario, verrà specificata una delle stringhe seguenti.

Valore Significato
WinSta_0
Indica che si tratta di un accesso interattivo attraverso la stazione finestra. In questo caso , StationHandle è un HWND nella finestra di dialogo padre.
SvcCtl
Indica che si tratta di un accesso avviato dal controller del servizio. StationHandle non viene usato in questo caso.

[in] StationHandle

Valore a 32 bit il cui significato dipende dal nome (e di conseguenza dal tipo) della stazione specificata in lpStationName.

Valore Significato
WinSta_0
Handle per la finestra di dialogo proprietario (hwndOwner) attualmente visualizzata sullo schermo.
SvcCtl
Dati casuali. Non usare.

[out] lpLogonScript

Puntatore a una posizione in cui può essere restituito un puntatore a una stringa con terminazione Null.

Al termine della funzione, questo valore può puntare a una stringa con terminazione Null che contiene il nome di un programma da eseguire più i parametri richiesti dal programma. LocalAlloc deve essere usato per allocare la memoria per la stringa restituita. Questa memoria verrà liberata da MPR quando non è più necessaria.

Valore restituito

Se la funzione ha esito positivo, la funzione restituisce WN_SUCCESS.

Se la funzione ha esito negativo, restituisce un codice di errore, che può essere uno dei seguenti.

Codice restituito Descrizione
WN_NOT_SUPPORTED

NPLogonNotify non è supportato da Gestione credenziali.

WN_NO_NETWORK
La rete non è presente.
WN_FUNCTION_BUSY
Gestione credenziali sta ancora inizializzando e non è pronto per essere chiamato.

Commenti

La funzione NPLogonNotify viene implementata dai gestori delle credenziali per ricevere notifiche quando vengono modificate le informazioni di autenticazione.

Ogni gestore credenziali può restituire una singola stringa della riga di comando che può essere usata per eseguire uno script di accesso(l'implementazione non deve chiamare LogonUser o caricare direttamente un profilo utente). Il buffer di questa stringa viene allocato dal gestore delle credenziali. MPR è responsabile della liberazione. La stringa restituita in lpLogonScript deve contenere tutte le informazioni necessarie per eseguire lo script come riga di comando passata a CreateProcess.

Se la stringa richiede al processore di comandi di elaborare la stringa, come nel caso di comandi o file batch, la stringa deve essere preceduta da cmd /C.

Gli script di accesso verranno eseguiti nel contesto utente quando il profilo utente è disponibile. Tuttavia, le variabili di ambiente impostate non saranno globali e non saranno disponibili per la shell iniziale (ad esempio, Program Manager) o qualsiasi altro programma eseguito per conto dell'utente.

Requisiti

   
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione npapi.h

Vedi anche

CreateProcess

LocalAlloc

MSV1_0_INTERACTIVE_LOGON

NPGetCaps

NPPasswordChangeNotify