3.1.4.2.22 RpcDeletePrinterDataEx (Opnum 81)
RpcDeletePrinterDataEx deletes a specified value from a printer's configuration data, which consists of a set of named and typed values stored in a hierarchy of registry keys.<306>
-
DWORD RpcDeletePrinterDataEx( [in] PRINTER_HANDLE hPrinter, [in, string] const wchar_t* pKeyName, [in, string] const wchar_t* pValueName );
hPrinter: A handle to a printer object that was opened by RpcAddPrinter (section 3.1.4.2.3), RpcAddPrinterEx (section 3.1.4.2.15), RpcOpenPrinter (section 3.1.4.2.2), or RpcOpenPrinterEx (section 3.1.4.2.14).
pKeyName: A pointer to a string that specifies the key containing the value to delete. A key name is an arbitrary string defined by the printer driver associated with the printer object. For rules governing key names, see section 2.2.4.7.
pValueName: A pointer to a string that identifies the configuration data to delete. For rules governing value names, see section 2.2.4.18.
-
The value name is an arbitrary string defined by the printer driver associated with the printer object. The value name "ChangeID"<307> is reserved by the protocol and SHOULD NOT be used in a call to RpcDeletePrinterDataEx.
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 validates parameters as follows:
The server MUST perform the validation steps that are specified in PRINTER_HANDLE Parameters (section 3.1.4.1.11),.
The server MUST verify that the pKeyName parameter points to a string that complies with the rules for key names specified in section 2.2.4.7. If this verification fails, return ERROR_INVALID_PARAMETER.
The server MAY verify that the pValueName parameter points to a string that complies with the rules specified in section 2.2.4.18.
Additional validation SHOULD<308> be performed.
If parameter validation fails, the server MUST fail the operation immediately, returning 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 printer data value indicated by the pKeyName and pValueName parameters.
Return the status of the operation.