<div class="content"><p> </p><p><b>RpcAsyncGetCorePrinterDrivers</b> gets the <span><a href="a98de8d9-8e9e-4cd7-92f7-f9269206a41e#gt_f49694cc-c350-462d-ab8e-816f0103c6c1" data-linktype="relative-path">GUID</a></span>,
versions, and publish dates of the specified <span><a href="a98de8d9-8e9e-4cd7-92f7-f9269206a41e#gt_d4010501-f6e4-4cba-817b-403a9c5ea41c" data-linktype="relative-path">core printer drivers</a></span>,
and the paths to their packages.</p><p>The counterpart of this method in the Print System Remote
Protocol is <b>RpcGetCorePrinterDrivers</b> (<span><a href="../ms-rprn/d42db7d5-f141-4466-8f47-0a4be14e2fc1" data-linktype="relative-path">[MS-RPRN]</a></span>
section <span><a href="../ms-rprn/3d628232-2aa9-44f4-84e0-1168d3208f27" data-linktype="relative-path">3.1.4.4.9</a></span>).</p><dl>
<dd>
<div><pre> HRESULT RpcAsyncGetCorePrinterDrivers(
   [in] handle_t hRemoteBinding,
   [in, string, unique] const wchar_t* pszServer,
   [in, string] const wchar_t* pszEnvironment,
   [in] DWORD cchCoreDrivers,
   [in, size_is(cchCoreDrivers)] const wchar_t* pszzCoreDriverDependencies,
   [in] DWORD cCorePrinterDrivers,
   [out, size_is(cCorePrinterDrivers)] 
     CORE_PRINTER_DRIVER* pCorePrinterDrivers
 );
</pre></div>
</dd></dl><p><b>hRemoteBinding: </b>An <span><a href="a98de8d9-8e9e-4cd7-92f7-f9269206a41e#gt_8a7f6700-8311-45bc-af10-82e10accd331" data-linktype="relative-path">RPC</a></span> explicit binding
handle.</p><p><b>pszServer: </b>A pointer to a string that
specifies the name of the <span><a href="a98de8d9-8e9e-4cd7-92f7-f9269206a41e#gt_59fb3ddc-63cf-45df-8a90-46a6af9e00cb" data-linktype="relative-path">print server</a></span> from
which to get the core printer driver information. This string contains a server
name that is identical to the server name that was used to create the <i>hRemoteBinding</i>
parameter. For details on RPC bind handles, see <span><a href="../ms-rpce/290c38b1-92fe-4229-91e6-4fc376610c15" data-linktype="relative-path">[MS-RPCE]</a></span>.
For rules governing print server names, see [MS-RPRN] section <span><a href="../ms-rprn/9b3f8135-7022-4b72-accb-aefcc360c83b" data-linktype="relative-path">2.2.4.16</a></span>.</p><p><b>pszEnvironment: </b>A pointer to a string that
specifies the environment name for which the core printer driver information
will be returned. For rules governing environment names, see [MS-RPRN] section <span><a href="../ms-rprn/ad775893-8a19-4786-ab46-34731f52d1af" data-linktype="relative-path">2.2.4.4</a></span>.</p><p><b>cchCoreDrivers: </b>The size, in bytes, of the
buffer that is referenced by the <i>pszzCoreDriverDependencies</i> parameter.</p><p><b>pszzCoreDriverDependencies: </b>A pointer to a <span><a href="a98de8d9-8e9e-4cd7-92f7-f9269206a41e#gt_70f2be54-4d89-416a-965a-c7055873d2b1" data-linktype="relative-path">multisz</a></span>
that contains a list of IDs <a id="Appendix_A_Target_22"></a><a aria-label="Product behavior note 22" href="d3e1685c-9f7c-4e09-9538-e81034bac916#Appendix_A_22" data-linktype="relative-path">&lt;22&gt;</a> of the
core printer drivers to be retrieved.</p><dl>
<dd>
<p>A <span><a href="a98de8d9-8e9e-4cd7-92f7-f9269206a41e#gt_3b2da3d1-c159-4399-a6dd-dfd5f76fa2f5" data-linktype="relative-path">print client</a></span> SHOULD
obtain this list of IDs as follows:</p>
</dd></dl><ol><li><p><span>   
</span>Call <b>RpcAsyncGetPrinterDriver</b> (section <span><a href="ea314d84-f508-48b8-9dee-46fed1719600" data-linktype="relative-path">3.1.4.2.1</a></span>) with a <i>Level</i>
parameter value of 0x00000008.</p>
</li><li><p><span>   
</span>A <b>_DRIVER_INFO_8</b> custom-marshaled structure ([MS-RPRN] section <span><a href="../ms-rprn/f9b749d6-08fc-4820-8d7b-fe0ee33e42c5" data-linktype="relative-path">2.2.2.4.8</a></span>)
is returned in the <i>pDriver</i> parameter.</p>
</li><li><p><span>   
</span>In the <b>_DRIVER_INFO_8</b>, the <b>szzCoreDependenciesOffset</b> field
contains an offset to a multisz that contains the list of IDs.</p>
</li></ol><p><b>cCorePrinterDrivers: </b>The count of <b>CORE_PRINTER_DRIVER</b>
structures (section <span><a href="e40a4ec2-cd64-4306-a31c-6301b46c56f1" data-linktype="relative-path">2.2.8</a></span>) that are
contained in the buffer that is pointed to by the <i>pCorePrinterDrivers</i>
parameter. It equals the number of IDs that are specified in the multisz that
is pointed to by the <i>pszzCoreDriverDependencies</i> parameter.</p><p><b>pCorePrinterDrivers: </b>A pointer to a buffer
that receives an array of <b>CORE_PRINTER_DRIVER</b> structures.</p><p><b>Return Values: </b>This method returns either an HRESULT
success value (<span><a href="../ms-erref/1bc92ddf-b79e-413c-bbaa-99a5281a6c90" data-linktype="relative-path">[MS-ERREF]</a></span>
section <span><a href="../ms-erref/0642cb2f-2075-4469-918c-4441e69c548a" data-linktype="relative-path">2.1</a></span>)
or an HRESULT error value to indicate failure.</p><p><b>Exceptions Thrown:</b> This method MUST NOT throw any
exceptions other than those that are thrown by the underlying RPC protocol
[MS-RPCE].</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.9.</p></div>