Funzione LsaRegisterLogonProcess (ntsecapi.h)

La funzione LsaRegisterLogonProcess stabilisce una connessione al server LSA e verifica che il chiamante sia un'applicazione di accesso.

Sintassi

NTSTATUS LsaRegisterLogonProcess(
  [in]  PLSA_STRING           LogonProcessName,
  [out] PHANDLE               LsaHandle,
  [out] PLSA_OPERATIONAL_MODE SecurityMode
);

Parametri

[in] LogonProcessName

Puntatore a una struttura LSA_STRING che identifica l'applicazione di accesso. Deve trattarsi di un nome stampabile adatto per la visualizzazione agli amministratori. Ad esempio, l'applicazione di accesso di Windows potrebbe usare il nome "User32LogonProcess". Questo nome viene usato dall'LSA durante il controllo. LsaRegisterLogonProcess non verifica se il nome è già in uso.

Questa stringa non deve superare i 127 byte.

[out] LsaHandle

Puntatore che riceve un handle usato nelle future chiamate di funzione di autenticazione.

[out] SecurityMode

Il valore restituito non è significativo e deve essere ignorato.

Valore restituito

Se la funzione ha esito positivo, il valore restituito viene STATUS_SUCCESS.

Se la funzione ha esito negativo, il valore restituito è un codice NTSTATUS. Di seguito sono riportati i possibili codici di errore.

Codice restituito Descrizione
STATUS_PORT_CONNECTION_REFUSED
Il chiamante non dispone del privilegio SeTcbPrivilege, necessario per chiamare questa funzione.

È possibile impostare questo privilegio chiamando LsaAddAccountRights.

STATUS_NAME_TOO_LONG
Il nome del processo di accesso specificato supera i 127 byte.
 

Per altre informazioni, vedere Valori restituiti della funzione criteri LSA.

La funzione LsaNtStatusToWinError converte un codice NTSTATUS in un codice di errore di Windows.

Commenti

Questa funzione deve essere chiamata prima che un processo di accesso possa usare qualsiasi altra funzione di autenticazione di accesso fornita dall'LSA.

La funzione LsaRegisterLogonProcess verifica che l'applicazione che effettua la chiamata di funzione sia un processo di accesso controllando che abbia il privilegio SeTcbPrivilege impostato. Apre anche il processo dell'applicazione per PROCESS_DUP_HANDLE l'accesso in previsione delle future chiamate di autenticazione LSA. Per altre informazioni, vedere DuplicateHandle.

Al termine dell'uso della connessione al server LSA, eliminare il contesto dell'applicazione di accesso del chiamante e chiudere la connessione chiamando la funzione LsaDeregisterLogonProcess .

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione ntsecapi.h
Libreria Secur32.lib
DLL Secur32.dll

Vedi anche

LsaAddAccountRights

LsaConnectUntrusted

LsaDeregisterLogonProcess