<div class="content" name="rpc_ACSetCursorProperties" uuid="dad37323-2589-4354-a12c-b52fc9bb8810"><p>A <a href="102555d1-0dbf-4b2e-b78c-e388823d252c#gt_60e0e1fa-66fe-41e1-b5e3-ceab97e53506" data-linktype="relative-path">client</a>
calls the rpc_ACSetCursorProperties method to associate a remote <a href="102555d1-0dbf-4b2e-b78c-e388823d252c#gt_aa5e9c2d-16c1-4301-8bfe-18a0913ed275" data-linktype="relative-path">cursor</a> created via <a href="bbf4bc8a-e697-4720-8015-d249a716371d" data-linktype="relative-path">R_QMCreateRemoteCursor (section 3.1.4.4)</a>
with a local <a href="3a0352fd-13bb-4c8e-a2d7-68a70dab75ba" data-linktype="relative-path">CursorProxy (section 3.1.1.6)</a>
created using <a href="e8d526c6-a119-4d27-8fac-bf59bab72f30" data-linktype="relative-path">rpc_ACCreateCursorEx (section 3.1.5.4)</a>.</p><p><b>Note</b>  This method is obsolete. The <a href="102555d1-0dbf-4b2e-b78c-e388823d252c#gt_434b0234-e970-4e8c-bdfa-e16a30d96703" data-linktype="relative-path">server</a> SHOULD take no
action and return MQ_ERROR_ILLEGAL_OPERATION (0xc00e0064).<a id="Appendix_A_Target_55"></a><a aria-label="Product behavior note 55" href="3d105257-668f-4768-83fe-344c8405a5a5#Appendix_A_55" data-linktype="relative-path">&lt;55&gt;</a></p><dl>
<dd>
<div><pre> HRESULT rpc_ACSetCursorProperties(
   [in] RPC_QUEUE_HANDLE hProxy,
   [in] DWORD hCursor,
   [in] DWORD hRemoteCursor
 );
</pre></div>
</dd></dl><p><b>hProxy:</b> MUST contain the <a href="1482aa96-e1e2-40e9-8fb8-b35895ca5b4a" data-linktype="relative-path">RPC_QUEUE_HANDLE (section 2.2.1.1.2)</a>
context handle passed to rpc_ACCreateCursorEx when the cursor specified by <i>hCursor</i>
was created.</p><p><b>hCursor: </b>MUST contain a <b>CursorProxy.Handle</b>
obtained from the <i>pcc.hCursor</i> out-parameter of rpc_ACCreateCursorEx. </p><p><b>hRemoteCursor: </b>MUST contain a <b>Cursor.Handle</b>
for a remote cursor acquired from the <i>phCursor</i> out-parameter of R_QMCreateRemoteCursor
invoked at a remote <a href="102555d1-0dbf-4b2e-b78c-e388823d252c#gt_476f10ed-08f0-4887-b583-59d5cf909979" data-linktype="relative-path">queue
manager</a>. </p><p><b>Return Values: </b> On success, this method MUST return
MQ_OK (0x00000000); otherwise, the server MUST return a failure <a href="../ms-dtyp/a9046ed2-bfb2-4d56-a719-2824afce59ac" data-linktype="relative-path">HRESULT</a>,
and the client MUST treat all failure HRESULTs identically.</p><p>This method is obsolete. Servers SHOULD take no action and
return MQ_ERROR_ILLEGAL_OPERATION (0xc00e0064). Servers SHOULD contact the
remote queue manager on behalf of the client when rpc_ACCreateCursorEx is
called to create a remote cursor.</p><p>Exceptions Thrown: No exceptions are thrown beyond those
thrown by the underlying <a href="102555d1-0dbf-4b2e-b78c-e388823d252c#gt_8a7f6700-8311-45bc-af10-82e10accd331" data-linktype="relative-path">RPC</a>
protocol, as specified in <a href="../ms-rpce/290c38b1-92fe-4229-91e6-4fc376610c15" data-linktype="relative-path">[MS-RPCE]</a>.</p><p>During the client cursor creation sequence, the <a href="102555d1-0dbf-4b2e-b78c-e388823d252c#gt_2739ef12-a749-4540-9ac3-715968ef4df4" data-linktype="relative-path">supporting server</a> MAY
indicate that the client MUST contact a remote queue manager to proceed.<a id="Appendix_A_Target_56"></a><a aria-label="Product behavior note 56" href="3d105257-668f-4768-83fe-344c8405a5a5#Appendix_A_56" data-linktype="relative-path">&lt;56&gt;</a> In response, the client MUST
call <a href="5e6d9f10-6747-487b-b5b0-b3cdd7fe3c65" data-linktype="relative-path">R_QMGetRemoteQueueName (section 3.1.4.1)</a>
to determine the remote queue manager name and MUST then invoke
R_QMCreateRemoteCursor at the remote queue manager. Next, the client MUST call
this method to associate the Cursor.Handle obtained from R_QMCreateRemoteCursor
with the original CursorProxy.Handle obtained from rpc_ACCreateCursorEx.</p><p>This method is invoked at the dynamically assigned <a href="102555d1-0dbf-4b2e-b78c-e388823d252c#gt_b91c1e27-e8e0-499b-8c65-738006af72ee" data-linktype="relative-path">endpoint</a> returned by the <a href="a8c96155-a7e6-41cb-95c7-6ab7e4f8214d" data-linktype="relative-path">R_QMGetRTQMServerPort (section 3.1.4.24)</a>
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>Locate a <a href="01412cba-2803-4644-be30-76cdb8560cec" data-linktype="relative-path">RemoteQueueProxyHandle (section 3.1.1.5)</a>
in the server&#39;s <a href="50eab75b-1cc0-4023-bb19-a20975e50883" data-linktype="relative-path">RemoteQueueProxyHandleTable (section 3.1.1.4)</a>
where <b>RemoteQueueProxyHandle.Handle</b> equals <i>hProxy</i>.</p>
</li><li><p><span><span> 
</span></span> If no such RemoteQueueProxyHandle exists, take no further action
and return a failure <b>HRESULT</b>.</p>
</li><li><p><span><span> 
</span></span>Locate a CursorProxy in <b>RemoteQueueProxyHandle.CursorProxyCollection</b>
where <b>CursorProxy.Handle</b> equals <i>hCursor</i>.</p>
</li><li><p><span><span> 
</span></span> If no such CursorProxy exists, take no further action and return
a failure <b>HRESULT</b>.</p>
</li><li><p><span><span> 
</span></span>Set <b>CursorProxy.RemoteCursorHandle</b> := <i>hRemoteCursor</i>.</p>
</li><li><p><span><span> 
</span></span>Set <b>CursorProxy.IsRemoteCursorHandleInitialized</b> := True.</p>
</li><li><p><span><span> 
</span></span>Return MQ_OK (0x00000000).</p>
</li></ul></div>