Platform SDK: Access Control

OBJECTS_AND_NAME

The OBJECTS_AND_NAME structure contains a string that identifies a trustee by name and additional strings that identify the object types of an object-specific ACE.

typedef struct _OBJECTS_AND_NAME {
  DWORD          ObjectsPresent;
  SE_OBJECT_TYPE ObjectType;
  LPTSTR   ObjectTypeName
  LPTSTR   InheritedObjectTypeName;
  LPTSTR   ptstrName;
} OBJECTS_AND_NAME, *POBJECTS_AND_NAME;

Members

ObjectsPresent
Indicates whether the ObjectTypeName and InheritedObjectTypeName members contain strings. This parameter can be a combination of the following values.
Value Meaning
ACE_OBJECT_TYPE_PRESENT The ObjectTypeName member contains a string.
ACE_INHERITED_OBJECT_TYPE_PRESENT The InheritedObjectTypeName member contains a string.

ObjectType
Specifies a value from the SE_OBJECT_TYPE enumeration that indicates the type of object.
ObjectTypeName
Pointer to a null-terminated string that identifies the type of object, property set, or property protected by the ACE. If this ACE is inherited, the GUID identifies the type of object, property set, or property protected by the inherited ACE.

This string must be a valid LDAP display name in the Active Directory schema.

If the ACE_OBJECT_TYPE_PRESENT bit is not set in the ObjectsPresent member, the ObjectTypeName member is ignored, and the ACE protects the object to which the ACL is assigned.

InheritedObjectTypeName
Pointer to a null-terminated string that identifies the type of object that can inherit the ACE.

This string must be a valid LDAP display name in the Active Directory schema.

If the ACE_INHERITED_OBJECT_TYPE_PRESENT bit is not set in the ObjectsPresent member, the InheritedObjectTypeName member is ignored, and all types of child objects can inherit the ACE. Otherwise, only the specified object type can inherit the ACE. In either case, inheritance is also controlled by the inheritance flags in the ACE_HEADER as well as by any protection against inheritance placed on the child objects.

ptstrName
Pointer to a null-terminated string that contains the name of the trustee.

Remarks

The ptstrName member of a TRUSTEE structure can be a pointer to an OBJECTS_AND_NAME structure. This enables functions such as SetEntriesInAcl and GetExplicitEntriesFromAcl to store object-specific ACE information in the Trustee member of an EXPLICIT_ACCESS structure.

Requirements

  Windows NT/2000: Requires Windows 2000.
  Header: Declared in Accctrl.h.
  Unicode: Declared as Unicode and ANSI structures.

See Also

Access Control Overview, Access Control Structures, GetExplicitEntriesFromAcl, OBJECTS_AND_SID, SE_OBJECT_TYPE, SetEntriesInAcl, TRUSTEE