<div class="content" name="ACCESS_DENIED_CALLBACK_OBJECT_ACE" uuid="4652f211-82d5-4b90-bd58-43bf3b0fc48d"><p>The ACCESS_DENIED_CALLBACK_OBJECT_ACE structure defines an
ACE that controls denied access to an object, a property set, or property. The
ACE contains a set of user rights, a <a href="a66edeb1-52a0-4d64-a93b-2f5c833d7d92#gt_f49694cc-c350-462d-ab8e-816f0103c6c1" data-linktype="relative-path">GUID</a> that identifies the
type of object, and a <a href="f992ad60-0fe4-4b87-9fed-beb478836861" data-linktype="relative-path">SID</a>
that identifies the trustee to whom the system will deny access. The ACE also
contains a GUID and a set of flags that control inheritance of the ACE by child
objects.</p><table>
 <tbody><tr>
  <th><p><br/>0</p></th>
  <th><p><br/>1</p></th>
  <th><p><br/>2</p></th>
  <th><p><br/>3</p></th>
  <th><p><br/>4</p></th>
  <th><p><br/>5</p></th>
  <th><p><br/>6</p></th>
  <th><p><br/>7</p></th>
  <th><p><br/>8</p></th>
  <th><p><br/>9</p></th>
  <th><p>1<br/>0</p></th>
  <th><p><br/>1</p></th>
  <th><p><br/>2</p></th>
  <th><p><br/>3</p></th>
  <th><p><br/>4</p></th>
  <th><p><br/>5</p></th>
  <th><p><br/>6</p></th>
  <th><p><br/>7</p></th>
  <th><p><br/>8</p></th>
  <th><p><br/>9</p></th>
  <th><p>2<br/>0</p></th>
  <th><p><br/>1</p></th>
  <th><p><br/>2</p></th>
  <th><p><br/>3</p></th>
  <th><p><br/>4</p></th>
  <th><p><br/>5</p></th>
  <th><p><br/>6</p></th>
  <th><p><br/>7</p></th>
  <th><p><br/>8</p></th>
  <th><p><br/>9</p></th>
  <th><p>3<br/>0</p></th>
  <th><p><br/>1</p></th>
 </tr>
 <tr>
  <td colspan="32">Header</td>
 </tr>
 <tr>
  <td colspan="32">Mask</td>
 </tr>
 <tr>
  <td colspan="32">Flags</td>
 </tr>
 <tr>
  <td colspan="32">ObjectType (16 bytes)</td>
 </tr>
 <tr>
  <td colspan="32">...</td>
 </tr>
 <tr>
  <td colspan="32">...</td>
 </tr>
 <tr>
  <td colspan="32">InheritedObjectType (16 bytes)</td>
 </tr>
 <tr>
  <td colspan="32">...</td>
 </tr>
 <tr>
  <td colspan="32">...</td>
 </tr>
 <tr>
  <td colspan="32">Sid (variable)</td>
 </tr>
 <tr>
  <td colspan="32">...</td>
 </tr>
 <tr>
  <td colspan="32">ApplicationData (variable)</td>
 </tr>
 <tr>
  <td colspan="32">...</td>
 </tr>
</tbody></table><p><b>Header (4 bytes): </b>An <a href="628ebb1d-c509-4ea0-a10f-77ef97ca4586" data-linktype="relative-path">ACE_HEADER</a> structure that
specifies the size and type of ACE. It also contains flags that control
inheritance of the ACE by child objects.</p><p><b>Mask (4 bytes): </b>An <a href="7a53f60e-e730-4dfe-bbe9-b21b62eb790b" data-linktype="relative-path">ACCESS_MASK</a> structure that
specifies the user rights denied by this ACE.</p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Value</p>
   </th>
   <th>
   <p>Meaning</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>ADS_RIGHT_DS_CONTROL_ACCESS 0X00000100</td>
  <td>The ObjectType GUID identifies an extended access right.</td>
 </tr><tr>
  <td>ADS_RIGHT_DS_CREATE_CHILD 0X00000001</td>
  <td>The ObjectType GUID identifies a type of child object. The ACE controls the trustee&#39;s right to create this type of child object.</td>
 </tr><tr>
  <td>ADS_RIGHT_DS_READ_PROP 0x00000010</td>
  <td>The ObjectType GUID identifies a property set or property of the object. The ACE controls the trustee&#39;s right to read the property or property set.</td>
 </tr><tr>
  <td>ADS_RIGHT_DS_WRITE_PROP 0x00000020</td>
  <td>The ObjectType GUID identifies a property set or property of the object. The ACE controls the trustee&#39;s right to write the property or property set.</td>
 </tr><tr>
  <td>ADS_RIGHT_DS_SELF 0x00000008</td>
  <td>The ObjectType GUID identifies a validated write.</td>
 </tr></tbody></table>
</dd></dl><p><b>Flags (4 bytes): </b>A 32-bit unsigned integer
that specifies a set of bit flags that indicate whether the <b>ObjectType</b>
and <b>InheritedObjectType</b> fields contain valid data. This parameter can be
one or more of the following values.</p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Value</p>
   </th>
   <th>
   <p>Meaning</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>0x00000000</td>
  <td>Neither ObjectType nor InheritedObjectType are valid.</td>
 </tr><tr>
  <td>ACE_OBJECT_TYPE_PRESENT 0x00000001</td>
  <td>ObjectType is present.</td>
 </tr><tr>
  <td>ACE_INHERITED_OBJECT_TYPE_PRESENT 0x00000002</td>
  <td>InheritedObjectType is present. If this value is not specified, all types of child objects can inherit the ACE.</td>
 </tr></tbody></table>
</dd></dl><p><b>ObjectType (16 bytes): </b>A GUID that identifies
a property set, property, extended right, or type of child object. The purpose
of this GUID depends on the user rights specified in the <b>Mask</b> field.
This field is present only if the ACE _OBJECT_TYPE_PRESENT bit is set in the <b>Flags</b>
field. Otherwise, the <b>ObjectType</b> field is ignored. </p><p><b>InheritedObjectType (16 bytes): </b>A GUID that
identifies the type of child object that can inherit the ACE. 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. This field is
present only if the ACE_INHERITED_OBJECT_TYPE_PRESENT bit is set in the Flags
member. Otherwise, the <b>InheritedObjectType</b> field is ignored.</p><p><b>Sid (variable): </b>The SID of a trustee. The
length of the SID MUST be a multiple of 4.</p><p><b>ApplicationData (variable): </b>Optional application
data. The size of the application data is determined by the <b>AceSize</b>
field of the ACE_HEADER.</p></div>