OBJECTS_AND_NAME_A structure (accctrl.h)

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 access control entry (ACE).

Syntax

typedef struct _OBJECTS_AND_NAME_A {
  DWORD          ObjectsPresent;
  SE_OBJECT_TYPE ObjectType;
  LPSTR          ObjectTypeName;
  LPSTR          InheritedObjectTypeName;
  LPSTR          ptstrName;
} OBJECTS_AND_NAME_A, *POBJECTS_AND_NAME_A;

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
0x1
The ObjectTypeName member contains a string.
ACE_INHERITED_OBJECT_TYPE_PRESENT
0x2
The InheritedObjectTypeName member contains a string.

ObjectType

Specifies a value from the SE_OBJECT_TYPE enumeration that indicates the type of object.

ObjectTypeName

A pointer to a null-terminated string that identifies the type of object to which the ACE applies.

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

InheritedObjectTypeName

A 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 structure as well as by any protection against inheritance placed on the child objects.

ptstrName

A 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.

Note

The accctrl.h header defines OBJECTS_AND_NAME_ as an alias which automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see Conventions for Function Prototypes.

Requirements

Requirement Value
Minimum supported client Windows XP [desktop apps only]
Minimum supported server Windows Server 2003 [desktop apps only]
Header accctrl.h

See also

ACE_HEADER

EXPLICIT_ACCESS

GetExplicitEntriesFromAcl

OBJECTS_AND_SID

SE_OBJECT_TYPE

SetEntriesInAcl

TRUSTEE