Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważny
Nowoczesna platforma drukowania jest preferowanym sposobem komunikacji z drukarkami w systemie Windows. Zalecamy używanie sterownika klasy skrzynki odbiorczej IPP firmy Microsoft wraz z aplikacjami do obsługi drukowania (PSA), aby dostosować środowisko drukowania w systemie Windows 10 i 11 na potrzeby opracowywania urządzeń drukarki.
Aby uzyskać więcej informacji, zobacz Print Support App v1 and v2 design guide (Przewodnik projektowania aplikacji do obsługi wydruku w wersji 1 i 2).
Funkcja zarządzania zadaniami została wprowadzona w systemie Windows 8.1 i nowszych wersjach systemu Windows w celu zapewnienia widoku na żywo kolejki zadań.
Ta funkcja umożliwia również klientowi anulowanie zadania drukowania. Klient może wywołać odpowiedni interfejs programowania z poziomu aplikacji urządzenia platformy UWP lub z rozszerzenia drukarki.
Nowe interfejsy
Następujące interfejsy zostały wprowadzone w systemie Windows 8.1 w celu zaimplementowania funkcji zarządzania zadaniami.
Inicjowanie sesji zarządzania zadaniami
Aby zainicjować sesję zarządzania zadaniami, należy najpierw określić i zażądać zakresu zadań, którymi chcesz zarządzać. Ten zakres zadań nazywa się "widokiem" i używasz metody IPrinterQueue2::GetPrinterQueueView, aby go określić.
Jeśli chcesz zmienić widok, aby monitorować inny zestaw zadań, możesz użyć metody IPrinterQueueView::SetViewRange, aby to zrobić.
Należy pamiętać, że kolejka wydruku jest kolejką dynamiczną. Za każdym razem, gdy stan kolejki wydruku zmienia się, zdarzenie zostaje wyzwolone, a metoda IPrinterQueueViewEvent::OnChanged udostępnia odświeżoną migawkę żądanego widoku.
Poniższy fragment kodu w języku C# ilustruje użycie nowych interfejsów do inicjowania sesji zarządzania zadaniami.
void PerformJobManagement(IPrinterQueue2 queue)
{
//
// Create a printer queue view and specify the range of
// print queue positions to be monitored
//
PrinterQueueView queueView = queue.GetPrinterQueueView(0, COUNT_JOBS_MONITORED);
//
// Add the event handler to the IPrinterQueueView object via the
// standard COM event model, the IConnectionPoint mechanism.
//
queueView.OnChanged += queueView_OnChanged;
//
// When a different range of print jobs needs to be monitored,
// reset/update the view.
//
queueView.SetViewRange(20, COUNT_JOBS_MONITORED);
}
//
// Create an event handler that is called when
// there is a change in the View
//
void queueView_OnChanged(
IPrintJobCollection pcollection,
uint ulviewOffset,
uint ulviewSize,
uint ulcountJobsInPrintQueue)
{
foreach (IPrintJob job in pCollection)
{
UIDisplay(job.Name);
UIDisplay(job.Id);
}
}
UIDisplay jest używana nazwa ogólna mechanizmu opracowywanego do wyświetlania informacji użytkownikowi.
Należy również pamiętać, że wyliczenie zadania jest uruchamiane po dodaniu pierwszego programu obsługi zdarzeń i jest zatrzymywane po usunięciu ostatniego programu obsługi zdarzeń.