Fonction SetUserObjectSecurity (winuser.h)

La fonction SetUserObjectSecurity définit la sécurité d’un objet utilisateur. Il peut s’agir, par exemple, d’une fenêtre ou d’une conversation DDE.

Syntaxe

BOOL SetUserObjectSecurity(
  [in] HANDLE                hObj,
  [in] PSECURITY_INFORMATION pSIRequested,
  [in] PSECURITY_DESCRIPTOR  pSID
);

Paramètres

[in] hObj

Handle d’un objet utilisateur pour lequel les informations de sécurité sont définies.

[in] pSIRequested

Pointeur vers une valeur qui indique les composants du descripteur de sécurité à définir. Ce paramètre peut être une combinaison des valeurs suivantes.

Valeur Signification
DACL_SECURITY_INFORMATION
Définit la liste de contrôle d’accès discrétionnaire (DACL) de l’objet. Le handle spécifié par hObj doit avoir WRITE_DAC accès, ou le processus appelant doit être le propriétaire de l’objet.
GROUP_SECURITY_INFORMATION
Définit l’identificateur de sécurité du groupe principal (SID) de l’objet.
OWNER_SECURITY_INFORMATION
Définit le SID du propriétaire de l’objet. Le handle spécifié par hObj doit avoir WRITE_OWNER accès, ou le processus appelant doit être le propriétaire de l’objet ou avoir le privilège SE_TAKE_OWNERSHIP_NAME activé.
SACL_SECURITY_INFORMATION
Définit la liste de contrôle d’accès système (SACL) de l’objet. Le handle spécifié par hObj doit avoir un accès ACCESS_SYSTEM_SECURITY.

Pour obtenir un accès ACCESS_SYSTEM_SECURITY

  1. Activez le privilège SE_SECURITY_NAME dans le jeton d’accès actuel de l’appelant.
  2. Ouvrez le handle pour ACCESS_SYSTEM_SECURITY accès.
  3. Désactivez le privilège.

[in] pSID

Pointeur vers une structure de SECURITY_DESCRIPTOR qui contient les nouvelles informations de sécurité.

Cette mémoire tampon doit être alignée sur une limite de 4 octets.

Valeur retournée

Si la fonction réussit, la fonction retourne une valeur différente de zéro.

Si la fonction échoue, elle retourne zéro. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

Remarques

La fonction SetUserObjectSecurity applique les modifications spécifiées dans un descripteur de sécurité au descripteur de sécurité affecté à un objet utilisateur. Le descripteur de sécurité de l’objet doit être auto-relatif . Si nécessaire, cette fonction alloue de la mémoire supplémentaire pour augmenter la taille du descripteur de sécurité.

Exemples

Pour obtenir un exemple qui utilise cette fonction, consultez Démarrage d’un processus client interactif.

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 winuser.h (inclure Windows.h)
Bibliothèque User32.lib
DLL User32.dll

Voir aussi

GetUserObjectSecurity

Access Control de bas niveau

Fonctions Access Control de bas niveau

SECURITY_DESCRIPTOR

SECURITY_INFORMATION

SetFileSecurity

SetKernelObjectSecurity

SetPrivateObjectSecurity