<div class="content"><p> </p><p>A <span><a href="102555d1-0dbf-4b2e-b78c-e388823d252c#gt_60e0e1fa-66fe-41e1-b5e3-ceab97e53506" data-linktype="relative-path">client</a></span> calls the
R_QMSetObjectSecurityInternal method to update the security configuration of a <span><a href="102555d1-0dbf-4b2e-b78c-e388823d252c#gt_1a7f2b81-359e-4d2f-b4b4-f30bc7dd0d8f" data-linktype="relative-path">private
queue</a></span> located on the <span><a href="102555d1-0dbf-4b2e-b78c-e388823d252c#gt_2739ef12-a749-4540-9ac3-715968ef4df4" data-linktype="relative-path">supporting server</a></span>.</p><dl>
<dd>
<div><pre> HRESULT R_QMSetObjectSecurityInternal(
   [in] handle_t hBind,
   [in] struct OBJECT_FORMAT* pObjectFormat,
   [in] DWORD SecurityInformation,
   [in, range(0, 524288)] DWORD SDSize,
   [in, unique, size_is(SDSize)] unsigned char* pSecurityDescriptor
 );
</pre></div>
</dd></dl><p><b>hBind: </b> MUST be set to an <span><a href="102555d1-0dbf-4b2e-b78c-e388823d252c#gt_8a7f6700-8311-45bc-af10-82e10accd331" data-linktype="relative-path">RPC</a></span>
binding handle as described 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>pObjectFormat: </b> MUST point to an <span><a href="80b7e1bd-7ce1-40b6-91ae-d2e6fb6bfd10" data-linktype="relative-path">OBJECT_FORMAT</a></span>
structure that identifies an existing local private queue on the supporting
server for which the security configuration will be updated. This MUST NOT be
NULL. The <b>ObjType</b> member of the structure MUST be 0x00000001. The <b>pQueueFormat</b>
member MUST NOT be NULL.</p><p><b>SecurityInformation: </b> MUST contain a value
from the <span><a href="../ms-mqmq/f56a798d-6dbd-4b65-a3aa-a76c0d924738" data-linktype="relative-path">SECURITY_INFORMATION</a></span>
enumeration which indicates the portions of the provided <b>SECURITY_DESCRIPTOR</b>
to be applied to the <span><a href="102555d1-0dbf-4b2e-b78c-e388823d252c#gt_c1a6400d-703b-4f9a-a74c-40f1487978d9" data-linktype="relative-path">queue</a></span> identified by <i>pObjectFormat</i>.
The SECURITY_INFORMATION enumeration is defined in <span><a href="../ms-mqmq/b7cc2590-a617-45df-b6a3-1f31102b36fb" data-linktype="relative-path">[MS-MQMQ]</a></span>
section 2.2.3.</p><p><b>SDSize: </b> MUST be set to the byte length of the
buffer pointed to by <i>pSecurityDescriptor</i>.</p><p><b>pSecurityDescriptor: </b> MUST be a pointer to an
array of bytes containing a SECURITY_DESCRIPTOR structure (see <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>).</p><p><b>Return Values: </b> On success, this method MUST return
MQ_OK (0x00000000); otherwise, the <span><a href="102555d1-0dbf-4b2e-b78c-e388823d252c#gt_434b0234-e970-4e8c-bdfa-e16a30d96703" data-linktype="relative-path">server</a></span> MUST return a
failure <span><a href="../ms-dtyp/a9046ed2-bfb2-4d56-a719-2824afce59ac" data-linktype="relative-path">HRESULT</a></span>,<a id="Appendix_A_Target_32"></a><a aria-label="Product behavior note 32" href="3d105257-668f-4768-83fe-344c8405a5a5#Appendix_A_32" data-linktype="relative-path">&lt;32&gt;</a> and the client MUST treat all
failure HRESULTs identically. </p><p>Exceptions Thrown: No exceptions are thrown beyond those
thrown by the underlying RPC protocol, as specified in [MS-RPCE].</p><p>This method is invoked at the dynamically assigned <span><a href="102555d1-0dbf-4b2e-b78c-e388823d252c#gt_b91c1e27-e8e0-499b-8c65-738006af72ee" data-linktype="relative-path">endpoint</a></span>
returned by the <span><a href="a8c96155-a7e6-41cb-95c7-6ab7e4f8214d" data-linktype="relative-path">R_QMGetRTQMServerPort</a></span>
method when IP_HANDSHAKE (0x00000000) or IPX_HANDSHAKE (0x00000002) is the
interface specified by the <i>fIP</i> parameter.</p><p>When processing this call, the server MUST:</p><ul><li><p><span><span> 
</span></span>Determine if input parameter values violate constraints specified
above. If an invalid parameter is detected, the server MUST take no further
action and return a failure HRESULT.</p>
</li><li><p><span><span> 
</span></span>Locate a <span><a href="../ms-mqdmpr/2e026a09-999e-478f-8c4c-5344b661e579" data-linktype="relative-path">Queue</a></span>
in the <b>QueueCollection</b> of the server&#39;s <span><a href="../ms-mqdmpr/9adb2d90-c63b-43c7-9b9c-804ab96a57d5" data-linktype="relative-path">QueueManager</a></span>
identified by <i>pObjectFormat</i>.</p>
</li><li><p><span><span> 
</span></span>Locate a <b>Queue</b> (<span><a href="../ms-mqdmpr/5eafe0a6-a22f-436b-a0d9-4cbc25c52b47" data-linktype="relative-path">[MS-MQDMPR]</a></span>
section 3.1.1.2) ADM element instance in the <b>QueueCollection</b> attribute
of the server&#39;s <b>LocalQueueManager</b> ([MS-MQDMPR] section <span><a href="28d7b06f-debc-45c6-b235-fa5029b10178" data-linktype="relative-path">3.1.1</a></span>)
ADM element instance identified by the <i>pObjectFormat</i> parameter.</p>
</li><li><p><span><span> 
</span></span>If no entry is resolved, return a failure HRESULT.</p>
</li><li><p><span><span> 
</span></span>Update the <b>Security</b> attribute of the <b>Queue</b> ADM
element instance resolved preceding with the information provided by <i>SecurityInformation</i>,
<i>SDSize</i>, and <i>pSecurityDescriptor</i>.</p>
</li><li><p><span><span> 
</span></span>Return MQ_OK (0x00000000).</p>
</li></ul></div>