PrintQueue.Purge()报Win32错误:拒绝访问

我在C#里获取打印队列PrintQueue时,调用暂停打印Pause、恢复打印Resume、取消打印Purge时,报了Win32错误:拒绝访问的错误,请问这是什么原因呢?
    示例代码如下:

  using (PrintServer ps = new PrintServer())
  {
    using (PrintQueue pq = new PrintQueue(ps, "打印机名称", PrintSystemDesiredAccess.AdministratePrinter))
    {
      pq.Pause();
    }
  }

        在new PrintQueue时就报了这个错,如果使用如下代码:

   PrintServer myPrintServer = new PrintServer();
   PrintQueueCollection myPrintQueues = myPrintServer.GetPrintQueues();
   foreach (PrintQueue pq in myPrintQueues)
   {
     pq.Refresh();
     if (pq.IsPaused == false)
     {
       pq.Pause();
     }
   }

        则在pq.Pause()执行时报拒绝访问的错。

        请问这是什么原因引起的呢?

new PrintQueue(ps, "打印机名称", PrintSystemDesiredAccess.AdministratePrinter)
改成
new PrintQueue(ps, "打印机名称")