3.1.4.6.5 RpcAsyncEnumForms (Opnum 25)

RpcAsyncEnumForms enumerates the printer forms that the specified printer supports.

The counterpart of this method in the Print System Remote Protocol is RpcEnumForms. All parameters not defined below are specified in [MS-RPRN] section 3.1.4.5.5.

 DWORD RpcAsyncEnumForms(
   [in] PRINTER_HANDLE hPrinter,
   [in] DWORD Level,
   [in, out, unique, size_is(cbBuf)] 
     unsigned char* pForm,
   [in] DWORD cbBuf,
   [out] DWORD* pcbNeeded,
   [out] DWORD* pcReturned
 );

hPrinter: A handle to a printer object or server object that has been opened by using either RpcAsyncOpenPrinter (section 3.1.4.1.1) or RpcAsyncAddPrinter (section 3.1.4.1.2).

Return Values: This method returns zero to indicate successful completion or a nonzero Win32 error code ([MS-ERREF] section 2.2) to indicate failure. Aside from the specific nonzero return values documented in section 3.1.4, the client MUST treat any nonzero return value as a fatal error.

Exceptions Thrown: This method MUST NOT throw any exceptions other than those that are thrown by the underlying RPC protocol [MS-RPCE].

This method MUST adhere to the parameter validation, processing, and response requirements that are specified in [MS-RPRN] section 3.1.4.5.5.