Condividi tramite


Funzione WlxLoggedOutSAS (winwlx.h)

[La funzione WlxLoggedOutSAS non è più disponibile per l'uso a partire da Windows Server 2008 e Windows Vista.]

La funzione WlxLoggedOutSAS deve essere implementata da una DLL GINA sostitutiva. Winlogon chiama questa funzione quando riceve un evento sas ( Secure Attention Sequence ) mentre nessun utente è connesso.

Nota Le DLL GINA vengono ignorate in Windows Vista.
 

Sintassi

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

Parametri

[in] pWlxContext

Puntatore al contesto GINA associato a questa stazione finestra. L'GINA restituisce questo valore di contesto quando Winlogon chiama WlxInitialize per questa stazione.

[in] dwSasType

Specifica il tipo di firma di accesso condiviso che si è verificato. I valori da zero a WLX_SAS_TYPE_MAX_MSFT_VALUE sono riservati per definire tipi di firma di accesso condiviso Microsoft standard. Gli sviluppatori di GINA possono definire tipi di firma di accesso condiviso aggiuntivi usando valori maggiori di WLX_SAS_TYPE_MAX_MSFT_VALUE.

I tipi di firma di accesso condiviso seguenti sono predefiniti.

Valore Significato
WLX_SAS_TYPE_CTRL_ALT_DEL
Indica che un utente ha digitato lo standard CTRL+ALT+DEL SAS.
WLX_SAS_TYPE_SC_INSERT
Indica che una smart card è stata inserita in un dispositivo compatibile.
WLX_SAS_TYPE_SC_REMOVE
Indica che una smart card è stata rimossa da un dispositivo compatibile.
WLX_SAS_TYPE_TIMEOUT
Indica che non è stato ricevuto alcun input utente entro il periodo di timeout specificato.

[out] pAuthenticationId

Specifica l'identificatore di autenticazione associato alla sessione di accesso corrente. È possibile ottenere questo valore chiamando GetTokenInformation per ottenere una struttura TOKEN_STATISTICS per il token restituito dalla funzione LogonUser .

[in, out] pLogonSid

In input, questo parametro punta a un identificatore di sicurezza (SID) univoco alla sessione di accesso corrente. Winlogon usa questo SID per modificare la protezione nella stazione finestra e nel desktop dell'applicazione in modo che il nuovo utente connesso possa accedervi.

In output, Winlogon fornisce un SID. È anche possibile ottenere il SID usando la funzione GetTokenInformation per recuperare una struttura TOKEN_GROUPS per il token restituito dalla funzione LogonUser . A tale scopo, cercare la matrice restituita nella struttura TOKEN_GROUPS per il gruppo con l'attributo SE_GROUP_LOGON_ID.

[out] pdwOptions

Puntatore a un DWORD che contiene il set di opzioni di accesso. L'opzione seguente è definita.

Valore Significato
WLX_LOGON_OPT_NO_PROFILE
Indica che Winlogon non deve caricare un profilo per l'utente connesso. La DLL GINA si occupa di questa attività o l'utente non ha bisogno di un profilo.

[out] phToken

Puntatore a una variabile handle. Quando l'operazione di accesso ha esito positivo, impostare questo handle su un token che rappresenta l'utente connesso. Usare la funzione LogonUser per ottenere questo token, quindi, quando l'utente si disconnette, Winlogon chiude questo handle e chiama la funzione WlxLogoff .

Se è necessario questo handle dopo aver chiamato la funzione WlxLogoff , creare un duplicato dell'handle prima di restituirlo a Winlogon.

[out] pNprNotifyInfo

Puntatore a una struttura WLX_MPR_NOTIFY_INFO contenente informazioni su dominio, nome utente e password per l'utente. Winlogon userà queste informazioni per fornire informazioni di identificazione e autenticazione ai provider di rete.

L'GINA non è necessaria per restituire le informazioni sulla password. Tutti i campi NULL all'interno della struttura verranno ignorati da Winlogon. Usare LocalAlloc per allocare ogni stringa; Winlogon li libera quando non sono più necessari.

L'GINA deve fornire valori di dominio, utente e password per la funzionalità completa della directory sessione. Se la password non è specificata, La directory sessione richiederà all'utente di immettere la password due volte prima che l'utente sia connesso al server.

Per informazioni sulla protezione delle password, vedere Gestione delle password.

[out] pProfile

In caso di restituzione da un'autenticazione riuscita, il parametro pProfile punta a una WLX_PROFILE_V1_0 o a una struttura WLX_PROFILE_V2_0 . Il primo DWORD nella struttura indica quale struttura è. Winlogon usa questa struttura per caricare il profilo dell'utente connesso e libera la memoria associata alla struttura quando non ne ha più bisogno.

Valore restituito

Se la funzione ha esito negativo, la funzione restituisce zero.

Se la funzione ha esito positivo, restituisce uno dei valori seguenti.

Codice restituito Descrizione
WLX_SAS_ACTION_LOGON
Indica che un utente ha eseguito l'accesso.
WLX_SAS_ACTION_NONE
Indica che il tentativo registrato non è riuscito o annullato.
WLX_SAS_ACTION_SHUTDOWN
Indica che l'utente ha richiesto che il sistema venga arrestato.

Commenti

Prima di chiamare WlxLoggedOutSAS, Winlogon imposta lo stato desktop in modo che il desktop corrente sia il desktop Winlogon e imposta lo stato della workstation in modo che il desktop sia bloccato.

Non attivare il programma della shell utente in WlxLoggedOutSAS. Il programma della shell utente deve essere sempre attivato in WlxActivateUserShell.

Requisiti

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

Vedi anche

WlxActivateUserShell

WlxInitialize