<div class="content" name="RpcRouterReplyPrinter" uuid="38bf5d2c-e4a7-44b2-b16f-91ff8226f836"><p>RpcRouterReplyPrinter handles a notification from a <span><a href="831cd729-be7c-451e-b729-bd8d84ce4d24#gt_59fb3ddc-63cf-45df-8a90-46a6af9e00cb" data-linktype="relative-path">print
server</a></span>.<a id="Appendix_A_Target_414"></a><a aria-label="Product behavior note 414" href="e81cbc09-ab05-4a32-ae4a-8ec57b436c43#Appendix_A_414" data-linktype="relative-path">&lt;414&gt;</a></p><dl>
<dd>
<div><pre> DWORD RpcRouterReplyPrinter(
   [in] PRINTER_HANDLE hNotify,
   [in] DWORD fdwFlags,
   [in, range(0,512)] DWORD cbBuffer,
   [in, unique, size_is(cbBuffer)] 
     BYTE* pBuffer
 );
</pre></div>
</dd></dl><p><b>hNotify: </b>A notification handle that was opened
by the server using <span><a href="7fcd3036-d45a-4ec7-b081-f2b860e66676" data-linktype="relative-path">RpcReplyOpenPrinter (section 3.2.4.1.1)</a></span>.</p><p><b>fdwFlags: </b>A value that contains <span><a href="ef51a734-e033-467e-b45d-4b5c06f440e7" data-linktype="relative-path">Printer
Change Flags (section 2.2.3.6)</a></span>, which indicate changes in
printer configuration values.</p><p><b>cbBuffer: </b>A value that SHOULD be set to zero
when sent and MUST be ignored on receipt.</p><p><b>pBuffer: </b>A pointer that SHOULD be set to NULL
when sent and MUST be ignored on receipt.</p><p><b>Return Values: </b>This method MUST return zero
(ERROR_SUCCESS) to indicate successful completion or a nonzero Windows error
code to indicate failure <span><a href="../ms-erref/1bc92ddf-b79e-413c-bbaa-99a5281a6c90" data-linktype="relative-path">[MS-ERREF]</a></span>.</p><p>Upon receiving this message, the <span><a href="831cd729-be7c-451e-b729-bd8d84ce4d24#gt_3b2da3d1-c159-4399-a6dd-dfd5f76fa2f5" data-linktype="relative-path">print client</a></span> MUST
validate parameters as follows:</p><ul><li><p><span><span> 
</span></span>Verify that the <i>hNotify</i> parameter is an <span><a href="831cd729-be7c-451e-b729-bd8d84ce4d24#gt_9dfe84e3-a772-4ad1-9a25-1255c1dc0f84" data-linktype="relative-path">RPC
context handle</a></span> to a notification object opened by calling
RpcReplyOpenPrinter. If that verification fails, ERROR_INVALID_HANDLE MUST be
returned. This method SHOULD assume that this handle can be used without
further access checks.</p>
</li></ul><p>If parameter validation fails, the client MUST fail the
operation immediately and return a nonzero error response to the server.
Otherwise, the client MUST process the message as follows:</p><ul><li><p><span><span> 
</span></span>Capture the <i>fdwFlags</i> in the notification state it
maintains.</p>
</li><li><p><span><span> 
</span></span>If the operation is successful, the client MUST send the received
data to the caller that registered for the notifications, by calling <span><a href="b8b414d9-f1cd-4191-bb6b-87d09ab2fd83" data-linktype="relative-path">RpcRemoteFindFirstPrinterChangeNotification (section 3.1.4.10.3)</a></span>
or <span><a href="eb66b221-1c1f-4249-b8bc-c5befec2314d" data-linktype="relative-path">RpcRemoteFindFirstPrinterChangeNotificationEx (section 3.1.4.10.4)</a></span>.</p>
</li></ul></div>