<div class="content"><p> </p><p><b>RpcAsyncGetPrinterDriver</b> retrieves data about a
specified <span><a href="a98de8d9-8e9e-4cd7-92f7-f9269206a41e#gt_1a48eebd-e72c-494d-b8cb-84dfb7bc3b65" data-linktype="relative-path">printer driver</a></span> on a
specified printer.</p><p>The counterpart of this method in the Print System Remote
Protocol is <b>RpcGetPrinterDriver2</b>. All parameters not defined below are
specified in <span><a href="../ms-rprn/d42db7d5-f141-4466-8f47-0a4be14e2fc1" data-linktype="relative-path">[MS-RPRN]</a></span>
section <span><a href="../ms-rprn/a73e77d0-7b24-48cf-a6d3-8b4061749495" data-linktype="relative-path">3.1.4.4.6</a></span>.</p><dl>
<dd>
<div><pre> DWORD RpcAsyncGetPrinterDriver(
   [in] PRINTER_HANDLE hPrinter,
   [in, string, unique] wchar_t* pEnvironment,
   [in] DWORD Level,
   [in, out, unique, size_is(cbBuf)] 
     unsigned char* pDriver,
   [in] DWORD cbBuf,
   [out] DWORD* pcbNeeded,
   [in] DWORD dwClientMajorVersion,
   [in] DWORD dwClientMinorVersion,
   [out] DWORD* pdwServerMaxVersion,
   [out] DWORD* pdwServerMinVersion
 );
</pre></div>
</dd></dl><p><b>hPrinter: </b>A handle to a printer object that
has been opened by using either <b>RpcAsyncOpenPrinter </b>(section <span><a href="feddac6a-bd88-4989-95fb-715bd6ca796a" data-linktype="relative-path">3.1.4.1.1</a></span>)
or <b>RpcAsyncAddPrinter </b>(section <span><a href="1e5e5498-e646-4fdf-8181-98862a3d6ec8" data-linktype="relative-path">3.1.4.1.2</a></span>).</p><p><b>Return Values: </b>This method returns zero to indicate
successful completion or a nonzero Win32 error code (<span><a href="../ms-erref/1bc92ddf-b79e-413c-bbaa-99a5281a6c90" data-linktype="relative-path">[MS-ERREF]</a></span>
section <span><a href="../ms-erref/18d8fbe8-a967-4f1c-ae50-99ca8e491d2d" data-linktype="relative-path">2.2</a></span>)
to indicate failure. Aside from the specific nonzero return values documented
in section <span><a href="93d1915d-4d9f-4ceb-90a7-e8f2a59adc29" data-linktype="relative-path">3.1.4</a></span>, the client
MUST treat any nonzero return value as a fatal error.</p><p><b>Exceptions Thrown:</b> This method MUST NOT throw any
exceptions other than those that are thrown by the underlying <span><a href="a98de8d9-8e9e-4cd7-92f7-f9269206a41e#gt_8a7f6700-8311-45bc-af10-82e10accd331" data-linktype="relative-path">RPC</a></span>
protocol <span><a href="../ms-rpce/290c38b1-92fe-4229-91e6-4fc376610c15" data-linktype="relative-path">[MS-RPCE]</a></span>.</p><p>This method MUST adhere to the parameter validation,
processing, and response requirements that are specified in [MS-RPRN] section
3.1.4.4.6.</p></div>