LocalPrintServer Constructors

Definitie

Initialiseert een nieuw exemplaar van de LocalPrintServer klasse.

Overloads

Name Description
LocalPrintServer()

Initialiseert een nieuw exemplaar van de LocalPrintServer klasse.

LocalPrintServer(LocalPrintServerIndexedProperty[])

Initialiseert een nieuw exemplaar van de LocalPrintServer klasse met de opgegeven LocalPrintServerIndexedProperty matrix.

LocalPrintServer(PrintSystemDesiredAccess)

Initialiseert een nieuw exemplaar van de LocalPrintServer klasse met de opgegeven PrintSystemDesiredAccess.

LocalPrintServer(String[])

Initialiseert een nieuw exemplaar van de LocalPrintServer klasse met de opgegeven eigenschappen.

LocalPrintServer(LocalPrintServerIndexedProperty[], PrintSystemDesiredAccess)

Initialiseert een nieuw exemplaar van de LocalPrintServer klasse met de opgegeven matrix en de opgegeven LocalPrintServerIndexedPropertyPrintSystemDesiredAccess.

LocalPrintServer(String[], PrintSystemDesiredAccess)

Initialiseert een nieuw exemplaar van de LocalPrintServer klasse met de opgegeven eigenschappen en PrintSystemDesiredAccess.

LocalPrintServer()

Initialiseert een nieuw exemplaar van de LocalPrintServer klasse.

public:
 LocalPrintServer();
public LocalPrintServer();
Public Sub New ()

Voorbeelden

In het volgende voorbeeld ziet u hoe u deze constructor gebruikt in code waarmee de mogelijkheden van een printer worden getest en een afdruktaak wordt geconfigureerd om hiervan te profiteren.

// ---------------------- GetPrintTicketFromPrinter -----------------------
/// <summary>
///   Returns a PrintTicket based on the current default printer.</summary>
/// <returns>
///   A PrintTicket for the current local default printer.</returns>
PrintTicket^ GetPrintTicketFromPrinter ()
{
   PrintQueue^ printQueue = nullptr;

   LocalPrintServer^ localPrintServer = gcnew LocalPrintServer();

   // Retrieving collection of local printer on user machine
   PrintQueueCollection^ localPrinterCollection = localPrintServer->GetPrintQueues();

   System::Collections::IEnumerator^ localPrinterEnumerator = localPrinterCollection->GetEnumerator();

   if (localPrinterEnumerator->MoveNext())
   {
      // Get PrintQueue from first available printer
      printQueue = ((PrintQueue^)localPrinterEnumerator->Current);
   } else
   {
      return nullptr;
   }
   // Get default PrintTicket from printer
   PrintTicket^ printTicket = printQueue->DefaultPrintTicket;

   PrintCapabilities^ printCapabilities = printQueue->GetPrintCapabilities();

   // Modify PrintTicket
   if (printCapabilities->CollationCapability->Contains(Collation::Collated))
   {
      printTicket->Collation = Collation::Collated;
   }
   if (printCapabilities->DuplexingCapability->Contains(Duplexing::TwoSidedLongEdge))
   {
      printTicket->Duplexing = Duplexing::TwoSidedLongEdge;
   }
   if (printCapabilities->StaplingCapability->Contains(Stapling::StapleDualLeft))
   {
      printTicket->Stapling = Stapling::StapleDualLeft;
   }
   return printTicket;
};// end:GetPrintTicketFromPrinter()
// ---------------------- GetPrintTicketFromPrinter -----------------------
/// <summary>
///   Returns a PrintTicket based on the current default printer.</summary>
/// <returns>
///   A PrintTicket for the current local default printer.</returns>
private PrintTicket GetPrintTicketFromPrinter()
{
    PrintQueue printQueue = null;

    LocalPrintServer localPrintServer = new LocalPrintServer();

    // Retrieving collection of local printer on user machine
    PrintQueueCollection localPrinterCollection =
        localPrintServer.GetPrintQueues();

    System.Collections.IEnumerator localPrinterEnumerator =
        localPrinterCollection.GetEnumerator();

    if (localPrinterEnumerator.MoveNext())
    {
        // Get PrintQueue from first available printer
        printQueue = (PrintQueue)localPrinterEnumerator.Current;
    }
    else
    {
        // No printer exist, return null PrintTicket
        return null;
    }

    // Get default PrintTicket from printer
    PrintTicket printTicket = printQueue.DefaultPrintTicket;

    PrintCapabilities printCapabilities = printQueue.GetPrintCapabilities();

    // Modify PrintTicket
    if (printCapabilities.CollationCapability.Contains(Collation.Collated))
    {
        printTicket.Collation = Collation.Collated;
    }

    if ( printCapabilities.DuplexingCapability.Contains(
            Duplexing.TwoSidedLongEdge) )
    {
        printTicket.Duplexing = Duplexing.TwoSidedLongEdge;
    }

    if (printCapabilities.StaplingCapability.Contains(Stapling.StapleDualLeft))
    {
        printTicket.Stapling = Stapling.StapleDualLeft;
    }

    return printTicket;
}// end:GetPrintTicketFromPrinter()
' ---------------------- GetPrintTicketFromPrinter -----------------------
''' <summary>
'''   Returns a PrintTicket based on the current default printer.</summary>
''' <returns>
'''   A PrintTicket for the current local default printer.</returns>
Private Function GetPrintTicketFromPrinter() As PrintTicket
    Dim printQueue As PrintQueue = Nothing

    Dim localPrintServer As New LocalPrintServer()

    ' Retrieving collection of local printer on user machine
    Dim localPrinterCollection As PrintQueueCollection = localPrintServer.GetPrintQueues()

    Dim localPrinterEnumerator As System.Collections.IEnumerator = localPrinterCollection.GetEnumerator()

    If localPrinterEnumerator.MoveNext() Then
        ' Get PrintQueue from first available printer
        printQueue = CType(localPrinterEnumerator.Current, PrintQueue)
    Else
        ' No printer exist, return null PrintTicket
        Return Nothing
    End If

    ' Get default PrintTicket from printer
    Dim printTicket As PrintTicket = printQueue.DefaultPrintTicket

    Dim printCapabilities As PrintCapabilities = printQueue.GetPrintCapabilities()

    ' Modify PrintTicket
    If printCapabilities.CollationCapability.Contains(Collation.Collated) Then
        printTicket.Collation = Collation.Collated
    End If

    If printCapabilities.DuplexingCapability.Contains(Duplexing.TwoSidedLongEdge) Then
        printTicket.Duplexing = Duplexing.TwoSidedLongEdge
    End If

    If printCapabilities.StaplingCapability.Contains(Stapling.StapleDualLeft) Then
        printTicket.Stapling = Stapling.StapleDualLeft
    End If

    Return printTicket
End Function ' end:GetPrintTicketFromPrinter()

Van toepassing op

LocalPrintServer(LocalPrintServerIndexedProperty[])

Initialiseert een nieuw exemplaar van de LocalPrintServer klasse met de opgegeven LocalPrintServerIndexedProperty matrix.

public:
 LocalPrintServer(cli::array <System::Printing::LocalPrintServerIndexedProperty> ^ propertiesFilter);
public LocalPrintServer(System.Printing.LocalPrintServerIndexedProperty[] propertiesFilter);
new System.Printing.LocalPrintServer : System.Printing.LocalPrintServerIndexedProperty[] -> System.Printing.LocalPrintServer
Public Sub New (propertiesFilter As LocalPrintServerIndexedProperty())

Parameters

propertiesFilter
LocalPrintServerIndexedProperty[]

Een matrix met eigenschappen die de constructor initialiseert.

Van toepassing op

LocalPrintServer(PrintSystemDesiredAccess)

Initialiseert een nieuw exemplaar van de LocalPrintServer klasse met de opgegeven PrintSystemDesiredAccess.

public:
 LocalPrintServer(System::Printing::PrintSystemDesiredAccess desiredAccess);
public LocalPrintServer(System.Printing.PrintSystemDesiredAccess desiredAccess);
new System.Printing.LocalPrintServer : System.Printing.PrintSystemDesiredAccess -> System.Printing.LocalPrintServer
Public Sub New (desiredAccess As PrintSystemDesiredAccess)

Parameters

desiredAccess
PrintSystemDesiredAccess

Een waarde die het type toegang tot de afdrukserver aangeeft dat uw toepassing nodig heeft.

Uitzonderingen

desiredAccess is een waarde die alleen kan worden toegepast op een PrintQueue object, niet op een LocalPrintServer object. Bijvoorbeeld: UsePrinter.

Voorbeelden

In het volgende voorbeeld ziet u hoe u deze constructor gebruikt in code waarmee een tweede printer wordt geïnstalleerd die verschilt van de eigenschappen van een bestaande printer, alleen op locatie, poort en gedeelde status.

LocalPrintServer myLocalPrintServer = new LocalPrintServer(PrintSystemDesiredAccess.AdministrateServer);
PrintQueue sourcePrintQueue = myLocalPrintServer.DefaultPrintQueue;
PrintPropertyDictionary myPrintProperties = sourcePrintQueue.PropertiesCollection;

// Share the new printer using Remove/Add methods
PrintBooleanProperty shared = new PrintBooleanProperty("IsShared", true);
myPrintProperties.Remove("IsShared");
myPrintProperties.Add("IsShared", shared);

// Give the new printer its share name using SetProperty method
PrintStringProperty theShareName = new PrintStringProperty("ShareName", "\"Son of " + sourcePrintQueue.Name +"\"");
myPrintProperties.SetProperty("ShareName", theShareName);

// Specify the physical location of the new printer using Remove/Add methods
PrintStringProperty theLocation = new PrintStringProperty("Location", "the supply room");
myPrintProperties.Remove("Location");
myPrintProperties.Add("Location", theLocation);

// Specify the port for the new printer
String[] port = new String[] { "COM1:" };

// Install the new printer on the local print server
PrintQueue clonedPrinter = myLocalPrintServer.InstallPrintQueue("My clone of " + sourcePrintQueue.Name, "Xerox WCP 35 PS", port, "WinPrint", myPrintProperties);
myLocalPrintServer.Commit();

// Report outcome
Console.WriteLine("{0} in {1} has been installed and shared as {2}", clonedPrinter.Name, clonedPrinter.Location, clonedPrinter.ShareName);
Console.WriteLine("Press Return to continue ...");
Console.ReadLine();
Dim myLocalPrintServer As New LocalPrintServer(PrintSystemDesiredAccess.AdministrateServer)
Dim sourcePrintQueue As PrintQueue = myLocalPrintServer.DefaultPrintQueue
Dim myPrintProperties As PrintPropertyDictionary = sourcePrintQueue.PropertiesCollection

' Share the new printer using Remove/Add methods
Dim [shared] As New PrintBooleanProperty("IsShared", True)
myPrintProperties.Remove("IsShared")
myPrintProperties.Add("IsShared", [shared])

' Give the new printer its share name using SetProperty method
Dim theShareName As New PrintStringProperty("ShareName", """Son of " & sourcePrintQueue.Name & """")
myPrintProperties.SetProperty("ShareName", theShareName)

' Specify the physical location of the new printer using Remove/Add methods
Dim theLocation As New PrintStringProperty("Location", "the supply room")
myPrintProperties.Remove("Location")
myPrintProperties.Add("Location", theLocation)

' Specify the port for the new printer
Dim port() As String = { "COM1:" }


' Install the new printer on the local print server
Dim clonedPrinter As PrintQueue = myLocalPrintServer.InstallPrintQueue("My clone of " & sourcePrintQueue.Name, "Xerox WCP 35 PS", port, "WinPrint", myPrintProperties)
myLocalPrintServer.Commit()

' Report outcome
Console.WriteLine("{0} in {1} has been installed and shared as {2}", clonedPrinter.Name, clonedPrinter.Location, clonedPrinter.ShareName)
Console.WriteLine("Press Return to continue ...")
Console.ReadLine()

Van toepassing op

LocalPrintServer(String[])

Initialiseert een nieuw exemplaar van de LocalPrintServer klasse met de opgegeven eigenschappen.

public:
 LocalPrintServer(cli::array <System::String ^> ^ propertiesFilter);
public LocalPrintServer(string[] propertiesFilter);
new System.Printing.LocalPrintServer : string[] -> System.Printing.LocalPrintServer
Public Sub New (propertiesFilter As String())

Parameters

propertiesFilter
String[]

Een matrix van de eigenschapsnamen die door de constructor worden geïnitialiseerd.

Van toepassing op

LocalPrintServer(LocalPrintServerIndexedProperty[], PrintSystemDesiredAccess)

Initialiseert een nieuw exemplaar van de LocalPrintServer klasse met de opgegeven matrix en de opgegeven LocalPrintServerIndexedPropertyPrintSystemDesiredAccess.

public:
 LocalPrintServer(cli::array <System::Printing::LocalPrintServerIndexedProperty> ^ propertiesFilter, System::Printing::PrintSystemDesiredAccess desiredAccess);
public LocalPrintServer(System.Printing.LocalPrintServerIndexedProperty[] propertiesFilter, System.Printing.PrintSystemDesiredAccess desiredAccess);
new System.Printing.LocalPrintServer : System.Printing.LocalPrintServerIndexedProperty[] * System.Printing.PrintSystemDesiredAccess -> System.Printing.LocalPrintServer
Public Sub New (propertiesFilter As LocalPrintServerIndexedProperty(), desiredAccess As PrintSystemDesiredAccess)

Parameters

propertiesFilter
LocalPrintServerIndexedProperty[]

Een matrix met eigenschappen die de constructor initialiseert.

desiredAccess
PrintSystemDesiredAccess

Een waarde die het type toegang tot de afdrukserver aangeeft dat uw programma nodig heeft.

Uitzonderingen

desiredAccess is een waarde die alleen kan worden toegepast op een PrintQueue object, niet op een LocalPrintServer object. Bijvoorbeeld: UsePrinter.

Van toepassing op

LocalPrintServer(String[], PrintSystemDesiredAccess)

Initialiseert een nieuw exemplaar van de LocalPrintServer klasse met de opgegeven eigenschappen en PrintSystemDesiredAccess.

public:
 LocalPrintServer(cli::array <System::String ^> ^ propertiesFilter, System::Printing::PrintSystemDesiredAccess desiredAccess);
public LocalPrintServer(string[] propertiesFilter, System.Printing.PrintSystemDesiredAccess desiredAccess);
new System.Printing.LocalPrintServer : string[] * System.Printing.PrintSystemDesiredAccess -> System.Printing.LocalPrintServer
Public Sub New (propertiesFilter As String(), desiredAccess As PrintSystemDesiredAccess)

Parameters

propertiesFilter
String[]

Een matrix van de eigenschapsnamen die door de constructor worden geïnitialiseerd.

desiredAccess
PrintSystemDesiredAccess

Een waarde die het type toegang tot de afdrukserver aangeeft dat uw toepassing nodig heeft.

Uitzonderingen

desiredAccess is een waarde die alleen kan worden toegepast op een PrintQueue object, niet op een LocalPrintServer object. Bijvoorbeeld: UsePrinter.

Van toepassing op