Fonction LsaRegisterLogonProcess (ntsecapi.h)

La fonction LsaRegisterLogonProcess établit une connexion au serveur LSA et vérifie que l’appelant est une application de connexion.

Syntaxe

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

Paramètres

[in] LogonProcessName

Pointeur vers une structure LSA_STRING identifiant l’application d’ouverture de session. Il doit s’agir d’un nom imprimable adapté à l’affichage pour les administrateurs. Par exemple, l’application de connexion Windows peut utiliser le nom « User32LogonProcess ». Ce nom est utilisé par le LSA lors de l’audit. LsaRegisterLogonProcess n’case activée pas si le nom est déjà utilisé.

Cette chaîne ne doit pas dépasser 127 octets.

[out] LsaHandle

Pointeur qui reçoit un handle utilisé dans les futurs appels de fonction d’authentification.

[out] SecurityMode

La valeur retournée n’est pas significative et doit être ignorée.

Valeur retournée

Si la fonction réussit, la valeur de retour est STATUS_SUCCESS.

Si la fonction échoue, la valeur de retour est un code NTSTATUS. Voici les codes d’erreur possibles.

Code de retour Description
STATUS_PORT_CONNECTION_REFUSED
L’appelant n’a pas le privilège SeTcbPrivilege, qui est requis pour appeler cette fonction.

Vous pouvez définir ce privilège en appelant LsaAddAccountRights.

STATUS_NAME_TOO_LONG
Le nom du processus d’ouverture de session spécifié dépasse 127 octets.
 

Pour plus d’informations, consultez Valeurs de retour de la fonction de stratégie LSA.

La fonction LsaNtStatusToWinError convertit un code NTSTATUS en code d’erreur Windows.

Remarques

Cette fonction doit être appelée avant qu’un processus d’ouverture de session puisse utiliser d’autres fonctions d’authentification d’ouverture de session fournies par l’ALS.

La fonction LsaRegisterLogonProcess vérifie que l’application qui effectue l’appel de fonction est un processus d’ouverture de session en vérifiant qu’elle dispose du jeu de privilèges SeTcbPrivilege. Il ouvre également le processus de l’application pour l’accès PROCESS_DUP_HANDLE en prévision de futurs appels d’authentification LSA. Pour plus d’informations, consultez DuplicateHandle.

Une fois la connexion au serveur LSA terminée, supprimez le contexte de l’application d’ouverture de session de l’appelant et fermez la connexion en appelant la fonction LsaDeregisterLogonProcess .

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête ntsecapi.h
Bibliothèque Secur32.lib
DLL Secur32.dll

Voir aussi

LsaAddAccountRights

LsaConnectUntrusted

LsaDeregisterLogonProcess