Partager via


structure SI_OBJECT_INFO (aclui.h)

La structure SI_OBJECT_INFO est utilisée par la méthode ISecurityInformation ::GetObjectInformation pour spécifier les informations utilisées pour initialiser l’éditeur de contrôle d’accès.

Syntaxe

typedef struct _SI_OBJECT_INFO {
  DWORD     dwFlags;
  HINSTANCE hInstance;
  LPWSTR    pszServerName;
  LPWSTR    pszObjectName;
  LPWSTR    pszPageTitle;
  GUID      guidObjectType;
} SI_OBJECT_INFO, *PSI_OBJECT_INFO;

Membres

dwFlags

Ensemble d’indicateurs de bits qui déterminent les options de modification disponibles pour l’utilisateur. Ce membre peut être une combinaison des valeurs suivantes.

Valeur Signification
SI_ADVANCED
0x00000010L
Si cet indicateur est défini, le bouton Avancé s’affiche sur la page des propriétés de sécurité de base. Si l’utilisateur clique sur ce bouton, le système affiche une feuille de propriétés de sécurité avancée qui permet la modification avancée de la liste de contrôle d’accès discrétionnaire (DACL) de l’objet.

Combinez cet indicateur avec les indicateurs SI_EDIT_AUDITS, SI_EDIT_OWNER et SI_EDIT_PROPERTIES pour permettre la modification des entrées SACL, propriétaire et contrôle d’accès spécifiques à l’objet de l’objet.

SI_AUDITS_ELEVATION_REQUIRED
0x02000000L
Si cet indicateur est défini, un bouclier s’affiche sur le bouton Modifier des pages d’audit avancées. Pour les objets NTFS, cet indicateur est demandé lorsque l’utilisateur n’a pas accès READ_CONTROL ou ACCESS_SYSTEM_SECURITY .

Windows Server 2003 et Windows XP : Cet indicateur n’est pas pris en charge.

SI_CONTAINER
0x00000004L
Indique que l’objet est un conteneur. Si cet indicateur est défini, l’éditeur de contrôle d’accès active les contrôles pertinents pour l’héritage des autorisations sur les objets enfants.
SI_DISABLE_DENY_ACE
0x800000000L
Si cet indicateur est défini, le système désactive le refus d’un ACE. Les clients de l’éditeur de contrôle d’accès doivent implémenter l’interface ISecurityInformation4 pour définir cet indicateur.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP : Cet indicateur n’est pas pris en charge.

SI_EDIT_ALL
Combine les indicateurs SI_EDIT_PERMS, SI_EDIT_OWNER et SI_EDIT_AUDITS.
SI_EDIT_AUDITS
0x00000002L
Si cet indicateur est défini et que l’utilisateur clique sur le bouton Avancé , le système affiche une feuille de propriétés de sécurité avancée qui comprend une page de propriétés d’audit permettant de modifier la saCL de l’objet. Pour afficher le bouton Avancé , définissez l’indicateur SI_ADVANCED.
SI_EDIT_EFFECTIVE
0x00020000L
Si cet indicateur est défini, la page Autorisations effectives s’affiche. Cet indicateur est ignoré si l’objet ISecurityInformation qui a initialisé l’éditeur de contrôle d’accès n’implémente pas l’interface IEffectivePermission .
SI_EDIT_OWNER
0x00000001L
Si cet indicateur est défini et que l’utilisateur clique sur le bouton Avancé , le système affiche une feuille de propriétés de sécurité avancée qui inclut une page de propriétés Owner permettant de modifier le propriétaire de l’objet. Pour afficher le bouton Avancé , définissez l’indicateur SI_ADVANCED.
SI_EDIT_PERMS
0x000000000L
Il s’agit de la valeur par défaut. La page de propriétés de sécurité de base affiche toujours les contrôles pour la modification de base de la liste DACL de l’objet. Pour désactiver ces contrôles, définissez l’indicateur SI_READONLY.
SI_EDIT_PROPERTIES
0x000000080L
Si cet indicateur est défini, le système active les contrôles de modification des AE qui s’appliquent aux jeux de propriétés et aux propriétés de l’objet. Ces contrôles sont disponibles uniquement dans la feuille de propriétés affichée lorsque l’utilisateur clique sur le bouton Avancé .
SI_ENABLE_CENTRAL_POLICY
0x400000000L
Si cet indicateur est défini, le système active la modification des attributs. Les clients de l’éditeur de contrôle d’accès doivent implémenter l’interface ISecurityInformation4 pour définir cet indicateur.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP : Cet indicateur n’est pas pris en charge.

SI_ENABLE_EDIT_ATTRIBUTE_CONDITION
0x20000000L
Si cet indicateur est défini, le système active la modification des attributs. Les clients de l’éditeur de contrôle d’accès doivent implémenter l’interface ISecurityInformation4 pour définir cet indicateur.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP : Cet indicateur n’est pas pris en charge.

SI_MAY_WRITE
0x100000000L
Indique que l’éditeur de contrôle d’accès ne peut pas lire la liste DACL, mais peut être en mesure d’écrire dans la liste DACL. Si un appel à la méthode ISecurityInformation ::GetSecurity renvoie AccessDenied, l’utilisateur peut essayer d’ajouter un nouvel ACE et un avertissement plus approprié s’affiche.
SI_NO_ACL_PROTECT
0x00000200L
Si cet indicateur est défini, l’éditeur de contrôle d’accès masque la zone de case activée qui permet aux ACÉ hérités de se propager de l’objet parent vers cet objet. Si cet indicateur n’est pas défini, la zone case activée est visible.

La zone case activée est désactivée si l’indicateur SE_DACL_PROTECTED est défini dans le descripteur de sécurité de l’objet. Dans ce cas, la liste DACL de l’objet est protégée contre toute modification par des AIC pouvant être héritées.

Si l’utilisateur désactive la zone de case activée, tous les ACÉ hérités dans le descripteur de sécurité sont supprimés ou convertis en ACÉ nonhéridés. Avant de poursuivre cette conversion, le système affiche une boîte de message d’avertissement pour confirmer la modification.

SI_NO_ADDITIONAL_PERMISSION
0x00200000L
Si cet indicateur est défini, l’éditeur de contrôle d’accès masque l’onglet Autorisations spéciales de la page Paramètres de sécurité avancés .
SI_NO_TREE_APPLY
0x000000400L
Si cet indicateur est défini, l’éditeur de contrôle d’accès masque la zone de case activée qui contrôle l’indicateur NO_PROPAGATE_INHERIT_ACE. Cet indicateur n’est pertinent que lorsque l’indicateur SI_ADVANCED est également défini.
SI_OBJECT_GUID
0x00010000L
Lorsqu’elle est définie, indique que le membre guidObjectType de la structure SI_OBJECT_INFO est valide. Cette valeur est définie par comparaison avec les ACÉ spécifiques à l’objet pour déterminer si l’ACE s’applique à l’objet actuel.
SI_OWNER_ELEVATION_REQUIRED
0x04000000L
Si cet indicateur est défini, un bouclier s’affiche sur le bouton Modifier de la page Propriétaire avancé. Pour les objets NTFS, cet indicateur est demandé lorsque l’utilisateur n’a pas WRITE_OWNER accès. Cet indicateur est valide uniquement si la page propriétaire est demandée.

Windows Server 2003 et Windows XP : Cet indicateur n’est pas pris en charge.

SI_OWNER_READONLY
0x000000040L
Si cet indicateur est défini, l’utilisateur ne peut pas modifier le propriétaire de l’objet. Définissez cet indicateur si SI_EDIT_OWNER est défini, mais que l’utilisateur n’est pas autorisé à modifier le propriétaire.
SI_OWNER_RECURSE
0x00000100L
Combinez cet indicateur avec SI_CONTAINER pour afficher une zone de case activée sur la page propriétaire qui indique si l’utilisateur a l’intention d’appliquer le nouveau propriétaire à tous les objets enfants ainsi qu’à l’objet actif. L’éditeur de contrôle d’accès n’effectue pas la récursivité ; la récursivité doit être effectuée par l’application dans ISecurityInformation ::SetSecurity.
SI_PAGE_TITLE
0x00000800L
Si cet indicateur est défini, le membre pszPageTitle est utilisé comme titre de la page de propriétés de sécurité de base. Sinon, un titre par défaut est utilisé.
SI_PERMS_ELEVATION_REQUIRED
0x01000000L
Si cet indicateur est défini, une image d’un bouclier s’affiche sur le bouton Modifier des pages Autorisations simples et avancées. Pour les objets NTFS, cet indicateur est demandé lorsque l’utilisateur n’a pas d’accès READ_CONTROL ou WRITE_DAC .

Windows Server 2003 et Windows XP : Cet indicateur n’est pas pris en charge.

SI_READONLY
0x00000008L
Si cet indicateur est défini, l’éditeur affiche les informations de sécurité de l’objet, mais les contrôles de modification des informations sont désactivés.

Cet indicateur ne peut pas être combiné avec l’indicateur SI_VIEW_ONLY .

SI_RESET
0x000000020L
Si cet indicateur est défini, le bouton Par défaut s’affiche. Si l’utilisateur clique sur ce bouton, l’éditeur de contrôle d’accès appelle la méthode ISecurityInformation ::GetSecurity pour récupérer un descripteur de sécurité par défaut défini par l’application. L’éditeur de contrôle d’accès utilise ce descripteur de sécurité pour réinitialiser la feuille de propriétés, et l’utilisateur est autorisé à appliquer la modification ou l’annulation.
SI_RESET_DACL
0x00040000L
Lorsqu’il est défini, cet indicateur affiche le bouton Réinitialiser les valeurs par défaut dans la page Autorisations .
SI_RESET_DACL_TREE
0x00004000L
Lorsqu’il est défini, cet indicateur affiche la zone Réinitialiser les autorisations sur tous les objets enfants et activer la propagation des autorisations pouvant être héritées case activée dans la page Autorisations de la fenêtre Paramètres Access Control. Si cette zone de case activée est sélectionnée lorsque l’utilisateur clique sur le bouton Appliquer, une opération OR au niveau du bit est effectuée sur le paramètre SecurityInformation de ISecurityInformation ::SetSecurity avec SI_RESET_DACL_TREE. Cette fonction ne réinitialise pas les autorisations et n’active pas la propagation des autorisations pouvant être héritées ; l’implémentation d’ISecurityInformation doit effectuer cette opération.
SI_RESET_OWNER
0x00100000L
Lorsqu’il est défini, cet indicateur affiche le bouton Réinitialiser les valeurs par défaut sur la page Propriétaire .
SI_RESET_SACL
0x00080000L
Lorsqu’il est défini, cet indicateur affiche le bouton Réinitialiser les valeurs par défaut dans la page Audit .
SI_RESET_SACL_TREE
0x00008000L
Lorsqu’il est défini, cet indicateur affiche la zone Réinitialiser les entrées d’audit sur tous les objets enfants et permet la propagation des entrées d’audit pouvant être héritées case activée dans la page Audit de la fenêtre Paramètres de Access Control. Si cette zone de case activée est sélectionnée lorsque l’utilisateur clique sur le bouton Appliquer, une opération OR au niveau du bit est effectuée sur le paramètre SecurityInformation de ISecurityInformation ::SetSecurity avec SI_RESET_SACL_TREE. Cette fonction ne réinitialise pas les autorisations et n’active pas la propagation des autorisations pouvant être héritées ; l’implémentation d’ISecurityInformation doit effectuer cette opération.
SI_SCOPE_ELEVATION_REQUIRED
0x08000000L
Si cet indicateur est défini, une image d’un bouclier s’affiche sur le bouton Modifier de l’attribut Étendue. Pour les objets NTFS, cet indicateur est demandé lorsque l’utilisateur n’a pas d’accès READ_CONTROL ou WRITE_DAC. Les clients de l’éditeur de contrôle d’accès doivent implémenter l’interface ISecurityInformation4 pour définir cet indicateur.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP : Cet indicateur n’est pas pris en charge.

SI_SERVER_IS_DC
0x00001000L
Définissez cet indicateur si l’ordinateur pszServerName est connu pour être un contrôleur de domaine. Si cet indicateur est défini, le nom de domaine est inclus dans la liste d’étendue de la boîte de dialogue Ajouter des utilisateurs et des groupes . Sinon, l’ordinateur pszServerName est utilisé pour déterminer la liste d’étendue de la boîte de dialogue.
SI_VIEW_ONLY
0x00400000L
Cet indicateur est défini par le client de l’éditeur de contrôle d’accès pour afficher les versions en lecture seule des boîtes de dialogue de l’éditeur de contrôle d’accès. Ces versions des boîtes de dialogue n’autorisent pas la modification des autorisations de l’objet associé. Les clients de l’éditeur de contrôle d’accès doivent implémenter l’interface ISecurityInformation3 pour définir cet indicateur.

Cet indicateur ne peut pas être combiné avec l’indicateur SI_READONLY .

Windows Server 2003 et Windows XP : Cet indicateur n’est pas pris en charge.

hInstance

Identifie un module qui contient des ressources de chaîne à utiliser dans la feuille de propriétés. Les méthodes ISecurityInformation ::GetAccessRights et ISecurityInformation ::GetInheritTypes peuvent spécifier des identificateurs de ressource de chaîne pour les noms d’affichage.

pszServerName

Pointeur vers une chaîne Unicode terminée par null qui nomme l’ordinateur sur lequel rechercher des noms de compte et des SID. Cette valeur peut être NULL pour spécifier l’ordinateur local. L’éditeur de contrôle d’accès ne libère pas ce pointeur.

pszObjectName

Pointeur vers une chaîne Unicode terminée par null qui nomme l’objet en cours de modification. Ce nom apparaît dans le titre de la feuille de propriétés de sécurité avancée et dans les boîtes de message d’erreur affichées par l’éditeur de contrôle d’accès. L’éditeur de contrôle d’accès ne libère pas ce pointeur.

pszPageTitle

Pointeur vers une chaîne Unicode terminée par null utilisée comme titre de la page de propriétés de sécurité de base. Ce membre est ignoré, sauf si l’indicateur SI_PAGE_TITLE est défini dans dwFlags. Si le titre de la page n’est pas fourni, un titre par défaut est utilisé. L’éditeur de contrôle d’accès ne libère pas ce pointeur.

guidObjectType

GUID de l’objet . Ce membre est ignoré, sauf si l’indicateur SI_OBJECT_GUID est défini dans dwFlags.

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]
En-tête aclui.h

Voir aussi

ISecurityInformation

ISecurityInformation ::GetAccessRights

ISecurityInformation ::GetInheritTypes

ISecurityInformation ::GetObjectInformation

ISecurityInformation ::GetSecurity

ISecurityInformation ::SetSecurity