3.1.4.2.25 RpcDeletePerMachineConnection (Opnum 86)

RpcDeletePerMachineConnection deletes information about a printer connection.<314>

This method is used for remote administration of client computers running the print system.

 DWORD RpcDeletePerMachineConnection(
   [in, string, unique] STRING_HANDLE pServer,
   [in, string] const wchar_t* pPrinterName
 );

pServer: A parameter specified in Print Server Name Parameters (section 3.1.4.1.4).

pPrinterName: A parameter specified in Printer Name Parameters (section 3.1.4.1.5) which specifies a printer connection.

Return Values: This method MUST return zero (ERROR_SUCCESS) to indicate successful completion or a nonzero Windows error code to indicate failure [MS-ERREF].

Upon receiving this message, the server MUST validate parameters as follows:

  • Perform the validation steps specified in Print Server Name Parameters.

  • Perform the validation steps specified in Printer Name Parameters.

  • Verify that the per-machine connection exists, and if that fails, return ERROR_INVALID_PRINTER_NAME.

  • Additional validation MAY be performed.<315>

If parameter validation fails, the server MUST fail the operation immediately and return a nonzero error response to the client. Otherwise, the server MUST process the message and compose a response to the client as follows:

  • Delete the per-machine printer connection from the list of per-machine connections that is identified by the string that is pointed to by the pPrinterName parameter. Defer deletion of the actual printer object for each user until the user logs on, and then delete the printer object for the printer connection to the printer specified in pPrinterName.

  • Return the status of the operation.