<div class="content"><p> </p><p>This method creates a new directory object, assigns the
specified properties and security descriptor to that directory object, and
returns a unique <span><a href="../ms-dtyp/4926e530-816e-41c2-b251-ec5c7aca018a" data-linktype="relative-path">GUID</a></span>
identifier for that directory object.</p><dl>
<dd>
<div><pre> HRESULT S_DSCreateObject(
   [in] handle_t hBind,
   [in, range(1,58)] unsigned long dwObjectType,
   [in, unique] const wchar_t* pwcsPathName,
   [in, range(0,524288)] unsigned long dwSDLength,
   [in, size_is(dwSDLength), unique] 
     unsigned char* SecurityDescriptor,
   [in, range(1,128)] unsigned long cp,
   [in, size_is(cp)] unsigned long aProp[],
   [in, size_is(cp)] PROPVARIANT apVar[],
   [in, out, unique] GUID* pObjGuid
 );
</pre></div>
</dd></dl><p><b>hBind: </b> MUST specify an <span><a href="993fa29f-3deb-494f-b4b4-492ee945735f#gt_8a7f6700-8311-45bc-af10-82e10accd331" data-linktype="relative-path">RPC</a></span> binding handle,
as specified in <span><a href="../ms-rpce/290c38b1-92fe-4229-91e6-4fc376610c15" data-linktype="relative-path">[MS-RPCE]</a></span>
section <span><a href="../ms-rpce/a01f5886-c485-4bcf-bb23-e0d755510ab7" data-linktype="relative-path">2</a></span>.</p><p><b>dwObjectType: </b> Specifies the type of directory object
to create. MUST be set to one of the object types, as specified in section <span><a href="0d63e0e1-8b17-4103-9080-01e6c7c9f61f" data-linktype="relative-path">2.2.8</a></span>.</p><p><b>pwcsPathName: </b> Pointer to a NULL-terminated 16-bit <span><a href="993fa29f-3deb-494f-b4b4-492ee945735f#gt_b069acb4-e364-453e-ac83-42d469bb339e" data-linktype="relative-path">Unicode
string</a></span> that MUST contain the <span><a href="993fa29f-3deb-494f-b4b4-492ee945735f#gt_c36db657-3138-4d9a-9289-ded5cbb8b40e" data-linktype="relative-path">directory service</a></span>
pathname, as specified in section <span><a href="6e03fb44-a705-4728-acca-7c6d7b8d7396" data-linktype="relative-path">2.2.9</a></span> for the
object to be created in the directory service. If the object is of a type that
is not referenced by pathname, as specified in section 2.2.9, this pointer MUST
be NULL.</p><p><b>dwSDLength: </b> MUST contain the size in bytes of the
buffer pointed to by <i>SecurityDescriptor</i>.</p><p><b>SecurityDescriptor: </b> MUST contain a pointer to a
security descriptor, as specified in <span><a href="../ms-dtyp/cca27429-5689-4a16-b2b4-9325d93e4ba2" data-linktype="relative-path">[MS-DTYP]</a></span>
section <span><a href="../ms-dtyp/7d4dac05-9cef-4563-a058-f108abecce1d" data-linktype="relative-path">2.4.6</a></span>,
or NULL.</p><p><b>cp: </b> MUST be set to the size (in elements) of the
arrays <i>aProp</i> and <i>apVar</i>. The arrays <i>aProp</i> and <i>apVar</i>
MUST have an identical number of elements and MUST contain at least one
element.</p><p><b>aProp: </b> An array of <span><a href="993fa29f-3deb-494f-b4b4-492ee945735f#gt_382ac1cd-8ff9-493a-bfec-d9ad08955707" data-linktype="relative-path">property identifiers</a></span>
of properties to associate with the created object. Each element MUST specify a
value from the property identifiers table as specified in section <span><a href="1f12668a-2fa3-45cf-8236-74f0fe4a6b7d" data-linktype="relative-path">2.2.10.1</a></span>,
for the directory object type specified in <i>dwObjectType</i>. Each element
MUST specify the property identifier for the corresponding property value at
the same element index in <i>apVar</i>. The array MUST contain at least one
element. </p><p><b>apVar: </b> An array of property values to associate with
the created object. Each element MUST specify the property value for the
corresponding property identifier at the same element index in <i>aProp</i>.
The array MUST contain at least one element.</p><p><b>pObjGuid: </b>SHOULD be set by the server to the GUID of
the created object if the <i>dwObjectType</i> is equal to MQDS_QUEUE,
MQDS_ROUTINGLINK, or MQDS_MACHINE.<a id="Appendix_A_Target_19"></a><a aria-label="Product behavior note 19" href="9c868bc8-426a-4e5f-8b45-cee7d49c3d10#Appendix_A_19" data-linktype="relative-path">&lt;19&gt;</a></p><p><b>Return Values: </b> If the method succeeds, the return value
is 0. If the method fails, the return value is an implementation-specific error
code.</p><p><b>MQ_OK</b> (0x00000000)</p><p><b>MQ_ERROR_ILLEGAL_PROPERTY_VALUE</b> (0xC00E0018)</p><p><b>MQ_ERROR_ILLEGAL_ENTERPRISE_OPERATION</b> (0xC00E0071)</p><p><b>MQ_ERROR</b> (0xC00E0001)</p><p><b>MQ_ERROR_DS_ERROR</b> (0xC00E0043)</p><p><b>MQDS_OBJECT_NOT_FOUND</b> (0xC00E050F)</p><p><b>E_ADS_PROPERTY_NOT_FOUND</b> (0x8000500D)</p><p><b>Exceptions Thrown:</b> No exceptions are thrown beyond
those thrown by the underlying RPC protocol, as specified in [MS-RPCE].</p><p>When processing this call, the server MUST:</p><ul><li><p><span><span> 
</span></span>Verify that the arrays <i>aProp</i> and <i>apVar</i> contain at
least one element. If not, the server SHOULD<a id="Appendix_A_Target_20"></a><a aria-label="Product behavior note 20" href="9c868bc8-426a-4e5f-8b45-cee7d49c3d10#Appendix_A_20" data-linktype="relative-path">&lt;20&gt;</a> take no
further action and return a failure <span><a href="../ms-dtyp/a9046ed2-bfb2-4d56-a719-2824afce59ac" data-linktype="relative-path">HRESULT</a></span>.</p>
</li><li><p><span><span> 
</span></span>If the value of <i>dwObjectType</i> is not one of the values
listed in the table in section 2.2.8, or is MQDS_DELETEDOBJECT or
MQDS_ENTERPRISE, the server MUST take no further action and return a failure
HRESULT.</p>
</li><li><p><span><span> 
</span></span>Verify that the property identifiers required to create an object
of the type indicated by <i>dwObjectType</i> are present in aProp. If any of
the required property identifiers is missing, the server MUST take no further
action and return a failure HRESULT. The required property identifiers for each
object type, as defined in <span><a href="../ms-mqmq/b7cc2590-a617-45df-b6a3-1f31102b36fb" data-linktype="relative-path">[MS-MQMQ]</a></span>,
are listed in the following table.<a id="Appendix_A_Target_21"></a><a aria-label="Product behavior note 21" href="9c868bc8-426a-4e5f-8b45-cee7d49c3d10#Appendix_A_21" data-linktype="relative-path">&lt;21&gt;</a></p>
<table><thead>
  <tr>
   <th>
   <p>Object Type</p>
   </th>
   <th>
   <p>Required property identifiers</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>
  <p>MQDS_QUEUE</p>
  </td>
  <td>
  <p>None</p>
  </td>
 </tr><tr>
  <td>
  <p>MQDS_MACHINE</p>
  </td>
  <td>
  <p>None</p>
  </td>
 </tr><tr>
  <td>
  <p>MQDS_SITE</p>
  </td>
  <td>
  <p>None</p>
  </td>
 </tr><tr>
  <td>
  <p>MQDS_CN</p>
  </td>
  <td>
  <p>Object cannot be created</p>
  </td>
 </tr><tr>
  <td>
  <p>MQDS_ENTERPRISE</p>
  </td>
  <td>
  <p>Object cannot be created</p>
  </td>
 </tr><tr>
  <td>
  <p>MQDS_USER</p>
  </td>
  <td>
  <p><span><a href="../ms-mqmq/70d85b0c-72dd-4578-aff9-34603e8bdf8e" data-linktype="relative-path">PROPID_U_SIGN_CERT (section 2.3.6.4)</a></span></p>
  <p><span><a href="../ms-mqmq/457fe622-b378-4bc6-8b28-a23805efbc9c" data-linktype="relative-path">PROPID_U_DIGEST (section 2.3.6.5)</a></span></p>
  </td>
 </tr><tr>
  <td>
  <p>MQDS_ROUTINGLINK</p>
  </td>
  <td>
  <p><span><a href="../ms-mqmq/8fdc4ee8-2ef7-46fb-88c9-b052cceb68d7" data-linktype="relative-path">PROPID_L_NEIGHBOR1 (section 2.3.7.1)</a></span></p>
  <p><span><a href="../ms-mqmq/39d31d45-e586-4731-ab9a-ababa92affa8" data-linktype="relative-path">PROPID_L_NEIGHBOR2 (section 2.3.7.2)</a></span></p>
  <p>Exactly one of <span><a href="../ms-mqmq/6c94a7af-faa3-40b6-859b-ef754a088721" data-linktype="relative-path">PROPID_L_COST (section 2.3.7.3)</a></span>
  or <span><a href="../ms-mqmq/8aeb400e-dd71-487c-ae86-5f617892b6c8" data-linktype="relative-path">PROPID_L_ACTUAL_COST (section 2.3.7.12)</a></span></p>
  </td>
 </tr></tbody></table>
</li><li><p><span><span> 
</span></span>The server MAY<a id="Appendix_A_Target_22"></a><a aria-label="Product behavior note 22" href="9c868bc8-426a-4e5f-8b45-cee7d49c3d10#Appendix_A_22" data-linktype="relative-path">&lt;22&gt;</a> forward
the creation to another server.</p>
</li><li><p><span><span> 
</span></span>Let <i>dirObject</i> be a directory object initialized to NULL.
Let <i>sendNotification</i> be a Boolean initialized to False.</p>
</li><li><p><span><span> 
</span></span>If the <i>dwObjectType</i> is anything other than MQDS_QUEUE, and
the <i>SecurityDescriptor</i> parameter is not NULL and valid, the server
SHOULD take no further action and return MQ_ERROR_ILLEGAL_PROPERTY
(0xC00E0018).</p>
</li><li><p><span><span> 
</span></span>If the <i>dwObjectType</i> is MQDS_QUEUE: </p>
<ul><li><p><span><span>  </span></span>Verify
for each property identifier in <i>aProp</i> that the property identifier is
valid for an object of type MQDS_QUEUE, and that the corresponding variant in <i>apVar</i>
is of the type defined for the property identifier, as specified in [MS-MQMQ]
section <span><a href="../ms-mqmq/9d5bf18a-5c7d-4df0-9e92-014ac661ae8a" data-linktype="relative-path">2.3.1</a></span>.
If any invalid property identifier or type is found, the server MUST take no
further action and return a failure HRESULT.</p>
</li><li><p><span><span>  </span></span>The
server MAY expand <i>aProp</i> and <i>apVar</i> by adding to <i>aProp</i>
property identifiers that are not already present and by adding to <i>apVar</i>
default values for those property identifiers.<a id="Appendix_A_Target_23"></a><a aria-label="Product behavior note 23" href="9c868bc8-426a-4e5f-8b45-cee7d49c3d10#Appendix_A_23" data-linktype="relative-path">&lt;23&gt;</a></p>
</li><li><p><span><span>  </span></span>Map
the values contained in <i>aProp</i> and <i>apVar</i> to <span><a href="8cad50a9-0727-446f-983e-526b1c39488c" data-linktype="relative-path">Queue (section 3.1.4.21.8.1.4)</a></span>
ADM element attributes according to the rules specified in section <span><a href="70fa9aa2-2c40-4122-a08b-da1c32a2ee90" data-linktype="relative-path">3.1.4.21.8.3.3</a></span>
or, for property identifiers not listed there, in section <span><a href="05d0c685-8de8-4847-9b92-ef3b53c5e656" data-linktype="relative-path">3.1.4.21.8.2.4</a></span>.
Property identifiers not listed in either section MUST be ignored. If the rules
indicate that any property identifier is invalid, the server MUST take no
further action and return a failure HRESULT.</p>
</li><li><p><span><span>  </span></span>Create
a new <b>Queue</b> ADM element instance using the mapping from the preceding
step and assign it to <i>dirObject</i>.</p>
</li><li><p><span><span>  </span></span>If
the Computer portion of the <i>dirObject</i>.<b>PathName</b> (as specified in
[MS-MQMQ] section <span><a href="../ms-mqmq/0f858702-0f3d-471a-972c-e6706906fa4d" data-linktype="relative-path">2.1.1</a></span>)
is different from the <b>LocalQueueManager.ComputerName</b>, set <i>sendNotification</i>
to True.</p>
</li><li><p><span><span>  </span></span>If
the <i>SecurityDescriptor</i> parameter is NULL:</p>
<ul><li><p><span><span> 
</span></span>Set <i>dirObject</i>.<b>Security</b> to a default security
descriptor with the owner <span><a href="993fa29f-3deb-494f-b4b4-492ee945735f#gt_83f2020d-0804-4840-a5ac-e06439d50f8d" data-linktype="relative-path">SID</a></span> set to the SID
of the calling user. Grant MQSEC_GET_QUEUE_PROPERTIES and
MQSEC_GET_QUEUE_PERMISSIONS access to the group &#34;Everyone&#34;. Grant
MQSEC_QUEUE_GENERIC_ALL access to the owner.</p>
</li></ul></li><li><p><span><span>  </span></span>If
the <i>SecurityDescriptor</i> parameter is not NULL and valid:</p>
<ul><li><p><span><span> 
</span></span>Use the following fields from the <i>SecurityDescriptor</i>
parameter to create a new security descriptor:</p>
<ul><li><p><span><span> 
</span></span><b>OwnerSid</b></p>
</li><li><p><span><span> 
</span></span><b>GroupSid</b></p>
</li><li><p><span><span> 
</span></span><b>Dacl</b></p>
</li><li><p><span><span> 
</span></span><b>Sacl</b></p>
</li></ul></li><li><p><span><span> 
</span></span>If any of the preceding fields is NULL, the new security
descriptor is initialized with default values, with the owner SID set to the
SID of the calling user.</p>
</li><li><p><span><span> 
</span></span>Set <i>dirObject</i>.<b>Security</b> to the new security
descriptor.</p>
</li></ul></li></ul></li><li><p><span><span> 
</span></span>If the <i>dwObjectType</i> is MQDS_ROUTINGLINK: </p>
<ul><li><p><span><span>  </span></span>Verify
for each property identifier in <i>aProp</i> that the property identifier is valid
for an object of type MQDS_ROUTINGLINK, and that the corresponding variant in <i>apVar</i>
is of the type defined for the property identifier, as specified in [MS-MQMQ]
section <span><a href="../ms-mqmq/de8d5810-1fc2-4c93-9f5c-dfaabd8dd230" data-linktype="relative-path">2.3.7</a></span>.
If any invalid property identifier or type is found, the server MUST take no
further action and return a failure HRESULT.</p>
</li><li><p><span><span>  </span></span>If
the <i>SecurityDescriptor</i> parameter is not NULL, the server SHOULD take no
further action and return MQ_ERROR_ILLEGAL_PROPERTY (0xC00E0018).<a id="Appendix_A_Target_24"></a><a aria-label="Product behavior note 24" href="9c868bc8-426a-4e5f-8b45-cee7d49c3d10#Appendix_A_24" data-linktype="relative-path">&lt;24&gt;</a></p>
</li><li><p><span><span>  </span></span>Map
the values contained in <i>aProp</i> and <i>apVar</i> to <span><a href="93678d5f-bb0e-4af6-8dfa-4e066dcbe639" data-linktype="relative-path">RoutingLink</a></span>
ADM element attributes according to the rules specified in section <span><a href="0ad0fb39-0d2a-4e6e-b56b-93da55974c34" data-linktype="relative-path">3.1.4.21.8.3.5</a></span>
or, for property identifiers not listed there, in section <span><a href="632537bf-8f1d-40e1-8cf8-5f8aa8673c4e" data-linktype="relative-path">3.1.4.21.8.2.9</a></span>.
Property identifiers not listed in either section MUST be ignored. If the rules
indicate that any property identifier is invalid, the server MUST take no
further action and return a failure HRESULT.</p>
</li><li><p><span><span>  </span></span>Create
a new <b>RoutingLink</b> ADM element instance using the mapping from the
preceding step and assign it to <i>dirObject</i>.</p>
</li></ul></li><li><p><span><span> 
</span></span>If the <i>dwObjectType</i> is MQDS_MACHINE: </p>
<ul><li><p><span><span>  </span></span>Verify
for each property identifier in <i>aProp</i> that the property identifier is
valid for an object of type MQDS_MACHINE, and that the corresponding variant in
<i>apVar</i> is of the type defined for the property identifier, as specified
in [MS-MQMQ] section <span><a href="../ms-mqmq/13c7ee4a-0676-402f-97d7-e880ded0015f" data-linktype="relative-path">2.3.2</a></span>.
If any invalid property identifier or type is found, the server MUST take no
further action and return a failure HRESULT.</p>
</li><li><p><span><span>  </span></span>The
server MAY expand <i>aProp</i> and <i>apVar</i> by adding to <i>aProp</i>
property identifiers that are not already present and by adding to <i>apVar</i>
default values for those property identifiers.<a id="Appendix_A_Target_25"></a><a aria-label="Product behavior note 25" href="9c868bc8-426a-4e5f-8b45-cee7d49c3d10#Appendix_A_25" data-linktype="relative-path">&lt;25&gt;</a></p>
<p>If the <i>SecurityDescriptor</i>
parameter is NULL, grant MQSEC_MACHINE_GENERIC_ALL access to the group
&#34;Everyone&#34;.</p>
</li><li><p><span><span>  </span></span>If
the <i>SecurityDescriptor</i> parameter is not NULL, the server SHOULD take no
further action and return MQ_ERROR_ILLEGAL_PROPERTY (0xC00E0018).<a id="Appendix_A_Target_26"></a><a aria-label="Product behavior note 26" href="9c868bc8-426a-4e5f-8b45-cee7d49c3d10#Appendix_A_26" data-linktype="relative-path">&lt;26&gt;</a></p>
</li><li><p><span><span>  </span></span>Map
the values contained in <i>aProp</i> and <i>apVar</i> to <b>QueueManager</b>
attributes according to the rules specified in section <span><a href="885485b0-8e18-47d1-8913-8a3a096dbb49" data-linktype="relative-path">3.1.4.21.8.3.1</a></span>
or, for property identifiers not listed there, in section <span><a href="79297a27-8bea-4b05-addd-69bf32b50e80" data-linktype="relative-path">3.1.4.21.8.2.1</a></span>.
Property identifiers not listed in either section MUST be ignored. If the rules
indicate that any property identifier is invalid, the server MUST take no
further action and return a failure HRESULT.</p>
</li><li><p><span><span>  </span></span>Create
a new <b>QueueManager</b> ADM element instance using the mapping from the
previous step and assign it to <i>dirObject</i>. </p>
</li><li><p><span><span>  </span></span><i>dirObject</i>.<b>Security</b>
SHOULD be set to a default security descriptor with the owner SID set to the
SID of the calling user.<a id="Appendix_A_Target_27"></a><a aria-label="Product behavior note 27" href="9c868bc8-426a-4e5f-8b45-cee7d49c3d10#Appendix_A_27" data-linktype="relative-path">&lt;27&gt;</a></p>
</li></ul></li><li><p><span><span> 
</span></span>If the <i>dwObjectType</i> is MQDS_ENTERPRISE, the server MUST
take no further action and return an error HRESULT.</p>
</li><li><p><span><span> 
</span></span>If the <i>dwObjectType</i> parameter is MQDS_USER: </p>
<ul><li><p><span><span>  </span></span>Verify
for each property identifier in <i>aProp</i> that the property identifier is
valid for an object of type MQDS_USER, and that the corresponding variant in <i>apVar</i>
is of the type defined for the property identifier, as specified in [MS-MQMQ]
section <span><a href="../ms-mqmq/f57441c5-97e2-4d31-800e-4e8502371999" data-linktype="relative-path">2.3.6</a></span>.
If any invalid property identifier or type is found, the server MUST take no
further action and return a failure HRESULT.</p>
</li><li><p><span><span>  </span></span>If
the <i>SecurityDescriptor</i> parameter is not NULL, the server SHOULD take no
further action and return MQ_ERROR_ILLEGAL_PROPERTY_VALUE (0xC00E0018).<a id="Appendix_A_Target_28"></a><a aria-label="Product behavior note 28" href="9c868bc8-426a-4e5f-8b45-cee7d49c3d10#Appendix_A_28" data-linktype="relative-path">&lt;28&gt;</a></p>
<p>If the <i>SecurityDescriptor</i>
parameter is NULL, grant RIGHT_GENERIC_READ access to the group
&#34;Everyone&#34;. Grant GENERIC_READ_MAPPING |
RIGHT_DS_WRITE_PROPERTY_EXTENDED | RIGHT_DS_WRITE_PROPERTY access to the owner.
The bitmasks pertain to Active Directory and are specified in <span><a href="../ms-adts/d2435927-0999-4c62-8c6d-13ba31a52e1a" data-linktype="relative-path">[MS-ADTS]</a></span>
section <span><a href="../ms-adts/990fb975-ab31-4bc1-8b75-5da132cd4584" data-linktype="relative-path">5.1.3.2</a></span>.</p>
</li><li><p><span><span>  </span></span>Map
the values contained in <i>aProp</i> and <i>apVar</i> to <span><a href="3b00c62b-8c57-4fba-a6af-f6482b373285" data-linktype="relative-path">User (section 3.1.4.21.8.1.11)</a></span>
ADM element attributes according to the rules specified in section <span><a href="674eda12-465d-45b7-ab56-517529d7d5ad" data-linktype="relative-path">3.1.4.21.8.3.7</a></span>
or, for property identifiers not listed there, in section <span><a href="3c54afad-eb94-4d71-b4ba-59f6de90ef14" data-linktype="relative-path">3.1.4.21.8.2.12</a></span>.
Property identifiers not listed in either section MUST be ignored. If the rules
indicate that any property identifier is invalid, the server MUST take no
further action and return a failure HRESULT.</p>
</li><li><p><span><span>  </span></span>Create
a new <b>User</b> ADM element instance using the mapping from the preceding
step and assign it to <i>dirObject</i>.</p>
</li><li><p><span><span>  </span></span>If
the <i>pwcsPathName</i> parameter is NULL, and if the user&#39;s SID, the x.509
signing certificate, and the digest of the certificate as properties with
property identifiers PROPID_U_SID ([MS-MQMQ] section <span><a href="../ms-mqmq/eaf0e0c4-b4f8-4fa9-82c7-5ff86dbfd341" data-linktype="relative-path">2.3.6.1</a></span>),
PROPID_U_SIGN_CERT ([MS-MQMQ] section 2.3.6.4), and PROPID_U_DIGEST ([MS-MQMQ]
section 2.3.6.5), respectively, are provided:</p>
<ul><li><p><span><span> 
</span></span>The server MUST add the x.509 signing certificate to the <i>dirObject</i>.<b>Certificates</b>
list and MUST add the digest of the certificate to the <i>dirObject</i>.<b>CertificateDigestList</b>.</p>
</li></ul></li></ul></li><li><p><span><span> 
</span></span>If the <i>dwObjectType</i> is MQDS_SITE: </p>
<ul><li><p><span><span>  </span></span>Verify
for each property identifier in <i>aProp</i> that the property identifier is
valid for an object of type MQDS_SITE, and that the corresponding variant in <i>apVar</i>
is of the type defined for the property identifier, as specified in [MS-MQMQ]
section <span><a href="../ms-mqmq/c68aaafb-8d65-4106-bf69-22145abdf4d0" data-linktype="relative-path">2.3.3</a></span>.
If any invalid property identifier or type is found, the server MUST take no
further action and return a failure HRESULT.</p>
</li><li><p><span><span>  </span></span>The
server MAY expand <i>aProp</i> and <i>apVar</i> by adding to <i>aProp</i> property
identifiers that are not already present and by adding to <i>apVar</i> default
values for those property identifiers.<a id="Appendix_A_Target_29"></a><a aria-label="Product behavior note 29" href="9c868bc8-426a-4e5f-8b45-cee7d49c3d10#Appendix_A_29" data-linktype="relative-path">&lt;29&gt;</a></p>
</li><li><p><span><span>  </span></span>If
the <i>SecurityDescriptor</i> parameter is NULL, construct a default security
descriptor with the owner SID set to the SID of the calling user. Grant
MQSEC_SITE_GENERIC_READ access to the group &#34;Everyone&#34;. Grant
MQSEC_SITE_GENERIC_ALL access to the owner.</p>
<p>If the <i>SecurityDescriptor</i>
parameter is not NULL, the server SHOULD take no further action and return
MQ_ERROR_ILLEGAL_PROPERTY (0xC00E0018).<a id="Appendix_A_Target_30"></a><a aria-label="Product behavior note 30" href="9c868bc8-426a-4e5f-8b45-cee7d49c3d10#Appendix_A_30" data-linktype="relative-path">&lt;30&gt;</a></p>
</li><li><p><span><span>  </span></span>Map
the values contained in <i>aProp</i> and <i>apVar</i> to <span><a href="a0c26666-8fe4-4857-be84-0148244205d0" data-linktype="relative-path">Site (section 3.1.4.21.8.1.8)</a></span>
ADM element attributes according to the rules specified in section <span><a href="9a0c9566-f8bc-4af3-ae2b-ea2b90e8a603" data-linktype="relative-path">3.1.4.21.8.3.4</a></span>
or, for property identifiers not listed there, in section <span><a href="ad78e384-1c91-44fe-99b6-bc1e1835b964" data-linktype="relative-path">3.1.4.21.8.2.8</a></span>.
Property identifiers not listed in either section MUST be ignored. If the rules
indicate that any property identifier is invalid, then the server MUST take no
further action and return a failure HRESULT.</p>
</li><li><p><span><span>  </span></span>Create
a new <b>Site</b> ADM element instance using the mapping from the preceding
step and assign it to <i>dirObject</i>. </p>
</li><li><p><span><span>  </span></span><i>dirObject</i>.<b>Security</b>
SHOULD be set to the security descriptor constructed in a previous step.<a id="Appendix_A_Target_31"></a><a aria-label="Product behavior note 31" href="9c868bc8-426a-4e5f-8b45-cee7d49c3d10#Appendix_A_31" data-linktype="relative-path">&lt;31&gt;</a></p>
</li></ul></li><li><p><span><span> 
</span></span>If the <i>dwObjectType</i> is MQDS_CN, the server SHOULD take no
further action and return an error HRESULT.<a id="Appendix_A_Target_32"></a><a aria-label="Product behavior note 32" href="9c868bc8-426a-4e5f-8b45-cee7d49c3d10#Appendix_A_32" data-linktype="relative-path">&lt;32&gt;</a></p>
</li><li><p><span><span> 
</span></span>Generate the <span><a href="8c21e639-1c8f-44c1-9006-2ef7866b7da5" data-linktype="relative-path">Add Object to
Directory (section 3.1.6.11)</a></span> event with the argument <i>iObject</i>
set to <i>dirObject</i>. If <i>rStatus</i> returned by the event is not
0x00000000, return <i>rStatus</i> and take no further action.</p>
</li><li><p><span><span> 
</span></span>If <i>sendNotification</i> is True:</p>
<ul><li><p><span><span>  </span></span>Generate
a Send Change Notification (<span><a href="../ms-mqcn/bacb4ae1-01e4-4eaa-8e1f-c30af0df1a7f" data-linktype="relative-path">[MS-MQCN]</a></span>
section <span><a href="../ms-mqcn/be84743d-30a7-4fb2-8ec6-7d2443c23913" data-linktype="relative-path">3.3.4.1</a></span>)
event with the following arguments:</p>
<ul><li><p><span><span> 
</span></span><i>iOperation</i> := QueueCreation</p>
</li><li><p><span><span> 
</span></span><i>iDirectoryObject</i> := <i>dirObject</i></p>
</li></ul></li></ul></li><li><p><span><span> 
</span></span>The server MAY<a id="Appendix_A_Target_33"></a><a aria-label="Product behavior note 33" href="9c868bc8-426a-4e5f-8b45-cee7d49c3d10#Appendix_A_33" data-linktype="relative-path">&lt;33&gt;</a> contact
other servers to propagate the changes.</p>
</li></ul></div>