<div class="content" name="RpcAsyncGetForm" uuid="192ed0b8-a017-4096-af47-1bd101269ccf"><p><b>RpcAsyncGetForm</b> retrieves information about a
specified <span><a href="a98de8d9-8e9e-4cd7-92f7-f9269206a41e#gt_8dfb0042-b0de-4108-ac52-b148427603db" data-linktype="relative-path">printer form</a></span>.</p><p>The counterpart of this method in the Print System Remote
Protocol is <b>RpcGetForm</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/be369d1d-1ede-49b1-81c2-09c69411c25d" data-linktype="relative-path">3.1.4.5.3</a></span>.</p><dl>
<dd>
<div><pre> DWORD RpcAsyncGetForm(
   [in] PRINTER_HANDLE hPrinter,
   [in, string] wchar_t* pFormName,
   [in] DWORD Level,
   [in, out, unique, size_is(cbBuf)] 
     unsigned char* pForm,
   [in] DWORD cbBuf,
   [out] DWORD* pcbNeeded
 );
</pre></div>
</dd></dl><p><b>hPrinter: </b>A handle to a printer object or
server 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.5.3.</p></div>