I am logged to my computer with domain1\user1 I'm logging on another computer with Remote Desktop using domain2\user1 and try to commit attributes. printQueue.Commit(); throws an error.
Does anyone have any idea why?
static void Main(string[] args)
{
var printerName = "Printer (redirected 2)";
var printQueue = GetPrinter(printerName);
if (printQueue == null)
{
throw new KeyNotFoundException("Printer " + printerName + " not found.");
}
var deltaTicket = new PrintTicket();
deltaTicket.Duplexing = Duplexing.OneSided;
deltaTicket.OutputColor = OutputColor.Grayscale;
var validationResult = printQueue.MergeAndValidatePrintTicket(printQueue.UserPrintTicket, deltaTicket);
if (validationResult.ValidatedPrintTicket.Duplexing == Duplexing.OneSided)
{
printQueue.UserPrintTicket = validationResult.ValidatedPrintTicket;
printQueue.Commit(); // this line throws an exception
}
}
private static PrintQueue GetPrinter(string printerName)
{
var server = new LocalPrintServer();
var printers = server.GetPrintQueues();
return printers.FirstOrDefault(printer => printer.Name == printerName);
}
An unhandled exception of type 'System.Printing.PrintCommitAttributesException'
occurred in PrinterConsoleTest.exe
Additional information:
An exception occurred while committing the properties for the PrintQueue object.
Win32 error: The request is not supported.