3.1.4.8.4 RpcDeletePrintProcessor (Opnum 48)
RpcDeletePrintProcessor removes a print processor.
-
DWORD RpcDeletePrintProcessor( [in, string, unique] STRING_HANDLE Name, [in, string, unique] wchar_t* pEnvironment, [in, string] wchar_t* pPrintProcessorName );
Name: A parameter specified in Print Server Name Parameters (section 3.1.4.1.4).
pEnvironment: A parameter specified in Environment Name Parameters (section 3.1.4.1.3).
pPrintProcessorName: A pointer to a string that specifies the name of the print processor that is removed. For rules governing print processor names, see Print Processor Names (section 2.2.4.11).
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 the following:
Perform the validation steps specified in Print Server Name Parameters.
Perform the validation steps specified in Environment Name Parameters.
The string that is referenced by the pPrintProcessorName parameter identifies a print processor installed on the server.
Verify that there are no printers on the system that use the print processor at this time, and if that verification fails, return ERROR_CAN_NOT_COMPLETE.
Additional validation MAY<374> be performed.
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:
Clear all references to the specified print processor from any other data structures.
Delete the print processor object.
If any clients have registered for notification of server object changes, a notification MUST be broadcast to them.
Return the status of the operation.