EnumeratedPrintQueueTypes Enum

Definition

Specifies attributes of print queues.

This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values.

public enum class EnumeratedPrintQueueTypes
[System.Flags]
public enum EnumeratedPrintQueueTypes
type EnumeratedPrintQueueTypes = 
Public Enum EnumeratedPrintQueueTypes
Inheritance
EnumeratedPrintQueueTypes
Attributes

Fields

Connections 16

A print queue that is connected to the specified print server.

DirectPrinting 2

A print queue that sends a print job directly to printing instead of spooling the job first.

EnableBidi 2048

A print queue for a printer that has bidirectional communication enabled.

EnableDevQuery 128

A print queue that holds its print jobs when the document and printer configurations do not match.

Fax 16384

A print queue that services a fax machine.

KeepPrintedJobs 256

A print queue that keeps jobs in the queue after printing them.

Local 64

A print queue that is installed as a local print queue on the specified print server.

PublishedInDirectoryServices 8192

A print queue that is visible in the directory of printers.

PushedMachineConnection 262144

A print queue that was installed by using the Push Printer Connections computer policy.

PushedUserConnection 131072

A print queue that was installed by using the Push Printer Connections user policy.

Queued 1

A print queue that allows multiple print jobs in the queue.

RawOnly 4096

A print queue that spools only raw data.

Shared 8

A print queue that is shared.

TerminalServer 32768

A print queue that is installed by the redirection feature in Terminal Services.

WorkOffline 1024

A print queue that can work offline.

Examples

The following example shows how to use the EnumeratedPrintQueueTypes enumeration to get a subset of available print queues.

// Specify that the list will contain only the print queues that are installed as local and are shared
array<System::Printing::EnumeratedPrintQueueTypes>^ enumerationFlags = {EnumeratedPrintQueueTypes::Local,EnumeratedPrintQueueTypes::Shared};

LocalPrintServer^ printServer = gcnew LocalPrintServer();

//Use the enumerationFlags to filter out unwanted print queues
PrintQueueCollection^ printQueuesOnLocalServer = printServer->GetPrintQueues(enumerationFlags);

Console::WriteLine("These are your shared, local print queues:\n\n");

for each (PrintQueue^ printer in printQueuesOnLocalServer)
{
   Console::WriteLine("\tThe shared printer " + printer->Name + " is located at " + printer->Location + "\n");
}
Console::WriteLine("Press enter to continue.");
Console::ReadLine();
// Specify that the list will contain only the print queues that are installed as local and are shared
EnumeratedPrintQueueTypes[] enumerationFlags = {EnumeratedPrintQueueTypes.Local,
                                                EnumeratedPrintQueueTypes.Shared};

LocalPrintServer printServer = new LocalPrintServer();

//Use the enumerationFlags to filter out unwanted print queues
PrintQueueCollection printQueuesOnLocalServer = printServer.GetPrintQueues(enumerationFlags);

Console.WriteLine("These are your shared, local print queues:\n\n");

foreach (PrintQueue printer in printQueuesOnLocalServer)
{
    Console.WriteLine("\tThe shared printer " + printer.Name + " is located at " + printer.Location + "\n");
}
Console.WriteLine("Press enter to continue.");
Console.ReadLine();
' Specify that the list will contain only the print queues that are installed as local and are shared
Dim enumerationFlags() As EnumeratedPrintQueueTypes = {EnumeratedPrintQueueTypes.Local, EnumeratedPrintQueueTypes.Shared}

Dim printServer As New LocalPrintServer()

'Use the enumerationFlags to filter out unwanted print queues
Dim printQueuesOnLocalServer As PrintQueueCollection = printServer.GetPrintQueues(enumerationFlags)

Console.WriteLine("These are your shared, local print queues:" & vbLf & vbLf)

For Each printer As PrintQueue In printQueuesOnLocalServer
    Console.WriteLine(vbTab & "The shared printer " & printer.Name & " is located at " & printer.Location & vbLf)
Next printer
Console.WriteLine("Press enter to continue.")
Console.ReadLine()

Remarks

Use these values with the GetPrintQueues method to list subsets of available print queues.

PushedMachineConnection and PushedUserConnection refer to policies that enable automated connection of machines and users to printers. See the section "Deploying Printers to Users or Computers by Using Group Policy" in the Step-by-Step Guide for Print Management.

Applies to

See also