Dela via


Win32 API-stöd för utskriftsfunktioner

Viktig

Den moderna utskriftsplattformen är Windows bästa sätt att kommunicera med skrivare. Vi rekommenderar att du använder Microsofts IPP-drivrutin för inkorgsklass tillsammans med Print Support Apps (PSA) för att anpassa utskriftsupplevelsen i Windows 10 och 11 för enhetsutveckling av skrivare.

Mer information finns i designguiden för Print-supportappen.

Windows Vista-utskriftsundersystemet ger kompatibilitetsstöd som gör det möjligt för WPF-program (Windows Presentation Foundation) att använda GDI-baserade utskriftsdrivrutiner och gör det möjligt för Microsoft Win32-baserade program att använda XPSDrv-utskriftsdrivrutiner. Den här kompatibiliteten tillhandahålls via ett lager av programvaru-shims. Shims är programvarumoduler som utför transformeringsåtgärder på data så att annars inkompatibel programvara kan samverka. Följande bild visar datasökvägarna för den här implementeringen för utskriftsfunktioner.

diagram som illustrerar utskriftsfunktionernas dataflöden.

Både XPSDrv-utskriftsdrivrutiner och GDI-baserade utskriftsdrivrutiner i version 3 stöder funktionen DrvDeviceCapabilities. När ett Win32-program anropar DrvDeviceCapabilities eller funktionen GetDevCap anropar undersystemet för utskrift DrvDeviceCapabilities för att samla in information om enhetens kapacitet från utskriftsdrivrutinen.

När ett WPF-program begär ett PrintCapabilities-dokument från en utskriftsdrivrutin gör undersystemet utskrift något av följande:

  • Om utskriftsdrivrutinen stöder IPrintTicketProvider--gränssnittet frågar utskriftsundersystemet utskriftsdrivrutinen efter dokumentet PrintCapabilities med hjälp av metoden IPrintTicketProvider::GetPrintCapabilities.

  • Om utskriftsdrivrutinen inte stöder IPrintTicketProvider--gränssnittet, kommer Utskriftsbiljetthanteraren att fråga funktionen DrvDeviceCapabilities i utskriftsdrivrutinen och använda den returnerade informationen för att skapa ett Print Ticket-dokument som returneras till applikationen.

Mer information om hur gränssnittet IPrintTicketProvider stöds av Microsoft-utskriftsdrivrutiner finns i Skrivardrivrutin och Plugin-gränssnittsdesign i Windows Vista.