PrintCommitAttributesException的可能原因

时间:2015-05-04 14:15:27

标签: .net printing system.printing

我使用域 1 \ user1登录到我的计算机 我使用域 2 \ user1登录另一台使用远程桌面的计算机并尝试提交属性。 printQueue.Commit();抛出错误。

有谁知道为什么?

    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.

0 个答案:

没有答案