RpcAsyncSetPrinter sets configuration information, initialization data, and security information of the specified printer to the values contained in the method parameters. It can also perform an action to change the active status of the printer.

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

 DWORD RpcAsyncSetPrinter(
   [in] PRINTER_HANDLE hPrinter,
   [in] PRINTER_CONTAINER* pPrinterContainer,
   [in] DEVMODE_CONTAINER* pDevModeContainer,
   [in] SECURITY_CONTAINER* pSecurityContainer,
   [in] DWORD Command
 );

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. 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.2.5.