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 |
---|---|
|
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. |
|
Définit l’identificateur de sécurité du groupe principal (SID) de l’objet. |
|
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é. |
|
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
|
[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 |