Freigeben über


LocalPrintServer Konstruktoren

Definition

Initialisiert eine neue Instanz der LocalPrintServer-Klasse.

Überlädt

LocalPrintServer()

Initialisiert eine neue Instanz der LocalPrintServer-Klasse.

LocalPrintServer(LocalPrintServerIndexedProperty[])

Initialisiert eine neue Instanz der LocalPrintServer-Klasse mit dem angegebenen LocalPrintServerIndexedProperty-Array.

LocalPrintServer(PrintSystemDesiredAccess)

Initialisiert eine neue Instanz der LocalPrintServer-Klasse mit dem angegebenen PrintSystemDesiredAccess.

LocalPrintServer(String[])

Initialisiert eine neue Instanz der LocalPrintServer-Klasse mit den angegebenen Eigenschaften.

LocalPrintServer(LocalPrintServerIndexedProperty[], PrintSystemDesiredAccess)

Initialisiert eine neue Instanz der LocalPrintServer-Klasse mit dem angegebenen LocalPrintServerIndexedProperty-Array und PrintSystemDesiredAccess.

LocalPrintServer(String[], PrintSystemDesiredAccess)

Initialisiert eine neue Instanz der LocalPrintServer-Klasse mit den angegebenen Eigenschaften und PrintSystemDesiredAccess.

LocalPrintServer()

Initialisiert eine neue Instanz der LocalPrintServer-Klasse.

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

Beispiele

Das folgende Beispiel zeigt, wie Sie diesen Konstruktor in Code verwenden, der die Funktionen eines Druckers testet und einen Druckauftrag konfiguriert, um sie zu nutzen.

// ---------------------- 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()

Gilt für:

LocalPrintServer(LocalPrintServerIndexedProperty[])

Initialisiert eine neue Instanz der LocalPrintServer-Klasse mit dem angegebenen LocalPrintServerIndexedProperty-Array.

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())

Parameter

propertiesFilter
LocalPrintServerIndexedProperty[]

Ein Array mit den Eigenschaften, die der Konstruktor initialisiert.

Gilt für:

LocalPrintServer(PrintSystemDesiredAccess)

Initialisiert eine neue Instanz der LocalPrintServer-Klasse mit dem angegebenen 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)

Parameter

desiredAccess
PrintSystemDesiredAccess

Ein Wert, der die Art des von der Anwendung benötigten Druckerserverzugriffs angibt.

Ausnahmen

Ein desiredAccess-Wert kann ausschließlich auf ein PrintQueue-Objekt und nicht auf ein LocalPrintServer-Objekt angewendet werden. Beispielsweise UsePrinter.

Beispiele

Im folgenden Beispiel wird gezeigt, wie Sie diesen Konstruktor in Code verwenden, der einen zweiten Drucker installiert, der sich in seinen Eigenschaften von einem vorhandenen Drucker nur in Bezug auf Standort, Port und freigegebene status unterscheidet.

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()

Gilt für:

LocalPrintServer(String[])

Initialisiert eine neue Instanz der LocalPrintServer-Klasse mit den angegebenen Eigenschaften.

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())

Parameter

propertiesFilter
String[]

Ein Array mit den Namen der Eigenschaften, die der Konstruktor initialisiert.

Gilt für:

LocalPrintServer(LocalPrintServerIndexedProperty[], PrintSystemDesiredAccess)

Initialisiert eine neue Instanz der LocalPrintServer-Klasse mit dem angegebenen LocalPrintServerIndexedProperty-Array und PrintSystemDesiredAccess.

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)

Parameter

propertiesFilter
LocalPrintServerIndexedProperty[]

Ein Array mit den Eigenschaften, die der Konstruktor initialisiert.

desiredAccess
PrintSystemDesiredAccess

Ein Wert, der die Art des vom Programm benötigten Druckerserverzugriffs angibt.

Ausnahmen

Ein desiredAccess-Wert kann ausschließlich auf ein PrintQueue-Objekt und nicht auf ein LocalPrintServer-Objekt angewendet werden. Beispielsweise UsePrinter.

Gilt für:

LocalPrintServer(String[], PrintSystemDesiredAccess)

Initialisiert eine neue Instanz der LocalPrintServer-Klasse mit den angegebenen Eigenschaften und 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)

Parameter

propertiesFilter
String[]

Ein Array mit den Namen der Eigenschaften, die der Konstruktor initialisiert.

desiredAccess
PrintSystemDesiredAccess

Ein Wert, der die Art des von der Anwendung benötigten Druckerserverzugriffs angibt.

Ausnahmen

Ein desiredAccess-Wert kann ausschließlich auf ein PrintQueue-Objekt und nicht auf ein LocalPrintServer-Objekt angewendet werden. Beispielsweise UsePrinter.

Gilt für: