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).
Kolejki wydruku ze sterownikami drukarek XPSDrv są hostowane w procesie spoolsv.exe. W przeciwieństwie do sterowników drukarek opartych na GDI, jednak filtry sterownika drukarki XPSDrv są hostowane w procesie printfilterpipelinesvc.exe, który jest oddzielony od spoolsv.exe. W związku z tym należy dołączyć debuger do procesu printfilterpipelinesvc.exe w celu debugowania filtrów w sterowniku drukarki XPSDrv.
Konfigurowanie procesu printfilterpipelinesvc.exe Time-Out
Proces printfilterpipelinesvc.exe rozpoczyna się, gdy zadanie drukowania jest wysyłane do kolejki wydruku za pomocą sterownika drukarki XPSDrv. Proces kończy się po tym, jak był nieaktywny przez pewien czas, który jest zdefiniowany przez wartość w rejestrze. Sporadyczne działanie procesu printfilterpipelinesvc.exe utrudnia dołączenie debugera do printfilterpipelinesvc.exe w celu debugowania filtrów w sterowniku drukarki XPSDriv.
Można jednak skonfigurować limit czasu braku aktywności w rejestrze. Wartość PipelineHostTimeout w podkluczu HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Print w rejestrze definiuje limit czasu procesu printfilterpipelinesvc.exe w milisekundach. Możesz zwiększyć tę wartość, aby ułatwić debugowanie sterownika drukarki XPSDrv. Należy pamiętać, że proces printfilterpipelinesvc.exe jest uruchamiany do analizowania pliku konfiguracji, tak aby nawet jeśli nie zdefiniowano filtrów dla sterownika, proces będzie nadal uruchamiany.
Konfigurowanie systemu na potrzeby debugowania
Aby debugować sterownik drukarki XPSDrv, należy:
Przypisz kolejkę wydruku korzystającą ze sterownika, który chcesz debugować, aby drukować na porcie pliku.
Ustaw wartość PipelineHostTimeout na wartość, która zapewni wystarczającą ilość czasu na debugowanie problemu.
Wyślij zadanie drukowania do kolejki wydruków, którą utworzyłeś w kroku 1, aby rozpocząć proces Printfilterpipelinesvc.exe.
Dołącz debuger do procesu Printfilterpipelinesvc.exe i rozpocznij debugowanie.
Po dołączeniu debugera można ustawić punkty przerwania w modułach filtru i rozpocząć debugowanie sterownika drukarki.
Jeśli sterownik drukarki, który chcesz debugować, powoduje zakończenie procesu printfilterpipelinesvc.exe przed dołączeniem debugera, możesz wykonać następujące czynności:
Utwórz sterownik drukarki XPSDrv, który nie ma żadnych filtrów zdefiniowanych w pliku konfiguracji.
Utwórz kolejkę wydruku za pomocą sterownika drukarki utworzonego w poprzednim kroku.
Przypisz kolejkę wydruku korzystającą ze sterownika, który chcesz debugować, aby drukować na porcie pliku.
Ustaw wartość PipelineHostTimeout na wartość, która zapewni wystarczającą ilość czasu na debugowanie problemu.
Wyślij zadanie drukowania do kolejki wydruku utworzonej w kroku 2.
Dołącz debuger do procesu Printfilterpipelinesvc.exe.
Ustaw punkty przerwania w sterowniku drukarki, który chcesz debugować.
Wyślij do kolejki wydruku za pomocą sterownika, który chcesz debugować.