Filter-based Print Drivers: Overview. Outline MetroDrv Architecture and Data Flow Filter Pipeline Implementation MetroDrv Filter Development Discussion.

Slides:



Advertisements
Similar presentations
This course is designed for system managers/administrators to better understand the SAAZ Desktop and Server Management components Students will learn.
Advertisements

Windows Server Terminal Services Easy Print
Printer Driver Development in Windows 7
CHAPTER Hard Resource (Printer) Sharing. Chapter Objectives Explain the concept of sharing a hard resource Present the step-by-step process of placing.
MCDST : Supporting Users and Troubleshooting a Microsoft Windows XP Operating System Chapter 12: Network Printing and Offline Files.
Microsoft Office Open XML Formats Brian Jones Lead Program Manager Microsoft Corporation.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 8: Implementing and Managing Printers.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 8: Implementing and Managing Printers.
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 8 Introduction to Printers in a Windows Server 2008 Network.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 8: Implementing and Managing Printers.
1 Chapter Overview Introduction to Windows XP Professional Printing Setting Up Network Printers Connecting to Network Printers Configuring Network Printers.
WDK Driver Test Manager. Outline HCT and the history of driver testing Problems to solve Goals of the WDK Driver Test Manager (DTM) Automated Deployment.
UPnP™ Technologies in Windows® John Gehlsen Group Program Manager Windows Device Experience Group Microsoft Corporation.
Developing XPSDrv Print Drivers
Best Practices for Developing Printer Drivers Justin Hutchings Program Manager Microsoft Corporation Shawn Maloney Program Manager Microsoft Corporation.
Print Verifier Ashwin Needamangala Senior Test Development Lead Documents and Printing Team
Winter Consolidated Server Deployment Guide for Hosted Messaging and Collaboration version 3.5 Philippe Maurent Principal Consultant Microsoft.
Enterprise Reporting with Reporting Services SQL Server 2005 Donald Farmer Group Program Manager Microsoft Corporation.
Microsoft Office System UK Developers Conference Radisson Edwardian, Heathrow 29 th & 30 th June 2005.
Punit Shah Technical Lead | Microsoft
XPSDrv Best practices using Print Verifier
Guide to MCSE , Second Edition, Enhanced1 Objectives Understand Windows XP print terminology and architecture Work with the Windows XP print subsystem.
Windows Server 2008 Chapter 6 Last Update
Chapter 13: Sharing Printers on Windows Server 2008 R2 Networks BAI617.
DXVA 2.0 A new Hardware Video Acceleration Pipeline for Windows Vista
New Document Lifecycle Opportunities N. Gregg Brown Lead Program Manager Digital Documents microsoft.com Microsoft Corporation.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
OFC302 Building Smart Document Solutions in Word & Excel Martin Sawicki Lead Program Manager.
Microsoft Confidential Gregg Brown| Lead Program Manager Windows Digital Documents Team | Microsoft Corporation XPS Overview and Demonstration.
Module 14: Configuring Print Resources and Printing Pools.
MCTS GUIDE TO MICROSOFT WINDOWS 7 Chapter 9 User Productivity Tools.
OFC 200 Microsoft Solution Accelerator for Intranets Scott Fynn Microsoft Consulting Services National Practices.
Overview Features & Functions 07/2013. A family of workflow automation products developed by Konica Minolta’s Solutions Engineering Center Easy-to-use.
Advances in Windows Printing Daniel Emerson Program Manager Digital Documents Platform and Solutions Microsoft Corporation.
Windows Image Acquisition Enhancements In Windows Vista
Chapter 6 Configuring Windows Server 2008 Printing
IOS110 Introduction to Operating Systems using Windows Session 9 1.
1 XML as a preservation strategy Experiences with the DiVA document format Eva Müller, Uwe Klosa Electronic Publishing Centre Uppsala University Library,
Developing Reporting Solutions with SQL Server
Core Printer Driver Improvements
XPS Rasterization Service in Windows 7
Jaws Digital Courier Justin Coombes Product Manager Jaws Product Line / Global Graphics.
Designing a Scalable Enterprise Project Management Architecture Ken Toole Platform Test Manager MS Project Microsoft Corporation.
Hands-On Microsoft Windows Server Implementing Microsoft Internet Information Services Microsoft Internet Information Services (IIS) –Software included.
Imaging Status Shivaun Albright Imaging Committee Chair HP.
Windows Color System Overview Lavanya Vasudevan Program Manager Digital Documents Platform and Solutions microsoft.com Microsoft Corporation.
Page 1 Printing & Terminal Services Lecture 8 Hassan Shuja 11/16/2004.
WCL303 Business Desktop Deployment (BDD) 2007: Part 2, Deploying the 2007 Office system Michael Niehaus Systems Design Engineer Microsoft
MSG331 Exchange Server 2000/2003 Software Development Kit Susan Hill Lead Programmer Writer Microsoft Corporation.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
MCTS GUIDE TO MICROSOFT WINDOWS 7 Chapter 9 User Productivity Tools.
1 Unleashing The Power Of XPS-Based File Formats For Your Application Jesse McGatha DAT304 Program Manager Microsoft Corporation.
Microsoft Office 2007 InfoPath Forms Solutions Reach more users with better forms Streamline data-driven business processes Rapidly develop and deploy.
Package! Publish! Print! Brian Adelberg Digital Document Solutions Software Development Lead Microsoft Corporation.
Longhorn Windows® Client Roadmap [4 November, 2004] Arvindra Sehmi Architect, Developer & Platform Group Microsoft EMEA HQ
Hands-On Microsoft Windows Server 2008 Chapter 5 Configuring Windows Server 2008 Printing.
Details On The Longhorn Spool File Format. Outline Metro Packages Reach Package Structure Reach Markup Other Topics.
The 2007 Microsoft Office System Servers Enterprise Content Management, Workflow and Forms Martin Parry Developer and Platform Group, Microsoft Ltd
Workflow in Microsoft Office SharePoint Server Jessica Gruber Consultant Microsoft Corporation.
Configuring Print Services Lesson 7. Print Sharing Print device sharing is another one of the most basic applications for which local area networks were.
Hands-On Microsoft Windows Server 2008 Chapter 6 Configuring Windows Server 2008 Printing.
Microsoft Virtual Academy
2007 Office System Integration
Building a great Metro style device app for your printer
Microsoft Dynamics.
Session Objectives And Key Takeaways
Windows Forms in Visual Studio 2005: An in-depth look at key features
Contexualized Data In Document Authoring
Presentation transcript:

Filter-based Print Drivers: Overview

Outline MetroDrv Architecture and Data Flow Filter Pipeline Implementation MetroDrv Filter Development Discussion Call to Action

Goals Define MetroDrv and the key components Understand information flow Communicate the requirements for developing MetroDrv drivers Windows Services IHV Supplied Components Present a set of sample filters for a MetroDrv driver Developed by Software Imaging

What is a MetroDrv driver? Extension of the Version 3 driver architecture Consumes Metro Spool Files in an extensible manner Sibling of the Unidrv and PScript core drivers Compatible with Windows XP and later Enabler for document and color workflow scenarios Persist richness of Avalon and Metro on paper Return to WYSIWYG High, wide and deep color from application to device

MetroDrv Driver Components Configuration Module Vendor defined Version 3 configuration module for the filter pipeline processing capabilities and device capabilities Requirements Support Version 3 driver configuration: Unidrv, PScript, monolithic configuration module PrintTicket/PrintCapabilities support GDI to Metro Converter Microsoft defined Version 3 driver rendering module Performs necessary conversions to support Win32 applications Processing Module (Filter Pipeline) Vendor defined processing module that processes Metro Reach Package content into the output PDL Filter Pipeline Configuration File Vendor defined setup file that describes the filters in the pipeline, including ordering, input and output data types

MetroDrv Driver Data Flow Provided by: Microsoft ISV IHV MetroDrv Driver Version 3 Driver Win32 App WinFX App Config Module/ Plug-in Conversion Render Module Filter Pipeline Filter 1 Filter N Metro

Filter Pipeline: Components and Interfaces

Filter Pipeline Outline Supports multiple vendor supplied filters Print Processing Filters Color conversion Filters Rendering Filters Setup by Filter Pipeline Configuration File XML file Defines filters in the pipeline and input/output data types Implicitly defines data processing order Public Interfaces implemented by vendors IPrintPipelineFilter IInterFilterCommunicator

Filter Pipeline Architecture Overview Service: PrintFilterPipelineSvc NT Authority\Local Service Normal non-admin user SeImpersonatePrivilegeSeCreateGlobalPrivilegeSeChangeNotifyPrivilege Controls Filter Creation and Communication Scheduler Inter Filter Communicator Property Bag Handle notifications from / to spooler

Filter Pipeline Architecture Overview PipelineManager PrintFilterPipelineSvc Control Tree Filters Reader/Writers Scheduler “Token” Value “Notify”“IDrvNotify” Property Bag N-UP Transparency Watermark Filter Pipeline Control Logic Provided by: Microsoft ISV IHV

Filter Pipeline Configuration File <Filter dll= “FirstFilter.dll" clsid= "{15e81b e9-a f3f09e9}" name= “Filter 1: NUp Filter" input= "{d4bb258b-ff10-4af0-b67e-bde41c5e0e1c}" output= "{f4873ed9-a87c-48e3-b6dd-f6e182fe97b8}“ /Filter> <Filter dll= “SecondFilter.dll" clsid= "{8c89b2aa-a151-4f94-92bf-7beaee679eab}" name= “Filter 2: Rendering Filter" input= "{f4873ed9-a87c-48e3-b6dd-f6e182fe97b8}" output= "{f50b8346-7a10-4d24-945c-1a2ca6fe9a11}“ /Filter>

Filter Interface interface IPrintPipelineFilter : IUnknown { HRESULT SetReadersWriters( IInterFilterCommunicator*pFilterCommunicator, IPrintPipelinePropertyBag*pIPropertyBag ); HRESULT ShutdownOperation( void ); HRESULT StartOperation( void ); }

Filter Communicator Interface interface IInterFilterCommunicator : IUnknown { HRESULT RequestReader( const wchar_t*pszStream, EPrintPipelineStreamAccessModeaccessMode, REFIIDiidRepresentation, REFIIDiidResultReader, void**ppReader ); HRESULT RequestWriter( const wchar_t*pszStream, EPrintPipelineStreamAccessModeaccessMode, EPrintPipelineStreamChangeModechangeMode, REFIIDiidRepresentation, REFIIDiidResultWriter, void**ppWriter ); }

Inter-Filter Communicator Details Filter Pipeline Manager Inter-FilterCommunicator FixedDocument Writer Metro Reader Stream FixedDocument Metro Spool File Inter-FilterCommunicator Stream Writer FixedDocument Reader Filter 1 Filter 2 … Filter N Provided by: Microsoft IHV

PrintFilterPipelineSvc Managed Code WinFx Printing Support Reach and Serialization Services Metro Spool File Winspool.drv and Extensions Spooler PrintQueue METR O Metro Reach Processing (Rich Content Structure) Scheduler FilterPipelinePrxy Port WinFX App Pipeline Manager Selector WaterMark Renderer N-Up Filter Pipeline Data Flow - Longhorn Provided by: Microsoft ISV IHV Unmanaged Code

PrintFilterPipelineSvc Managed Code WinFx Printing Support Reach and Serialization Services Metro Spool File Winspool.drv and Extensions Spooler PrintQueue METR O Scheduler MS Print Processor Port WinFX App Pipeline Manager Selector WaterMark Renderer N-Up Filter Pipeline Data Flow - Downlevel

Consuming Metro in a Driver Consuming Metro in a Driver Software Imaging

Outline Introduction Filter essentials Building a reusable filter Building functionality within the pipeline Sample Filter Pipeline

Software Imaging - Who are we? Specialists in printing and imaging technologies Founded 1989 Over 80 million drivers shipped worldwide Offices in North America, Japan and Europe Unidrv specialists and developers Developing solutions for the industry MetroDrv host drivers MetroDrv wide-gamut color printing (scRGB)

Filter Essentials: Filter Types Document modifier e.g. booklet printing, watermark Markup modifier e.g. color conversion Renderer e.g. Raster conversion, print output formatting Markup “simplifier” Handling unsupported features “Value add” e.g. print preview, status monitor, accounting, archiving

Filter Essentials: Handling the PrintTicket Every filter is interested in the PrintTicket (PT)! Three levels of PT: Job, Document, Page Validation of the Print Ticket Validate job-level PT Merge with default PT and validate For each document in the job Merge doc-level PT with job-level PT and validate For each page in the document Merge page-level PT with doc-level PT and validate Extract filter-relevant feature options

Building a Reusable Filter Metro in, Metro out Rely on the PrintTicket for control No device assumptions or dependencies Example: 2-up filter

Building Functionality Within the Pipeline Combining filters to build features Need inter-filter communication Could be PrintTicket Can use property bag Example: Booklet Page re-order filter 2-up filter

Sample Filter Pipeline

Call To Action Understand Windows codenamed “Longhorn” Print Architecture Identify strategic devices to target the Metro Print Path Identify extension scenarios Understand the Windows Color System Review the “Metro” v.7 specification and provide feedback to Start implementation with Beta 1! Convert GDI/DDI based drivers to MetroDrv drivers Explore the sample filters in Longhorn Beta 2 WDK Consider on-device rendering with a RIP implementation A reference implementation is planned for Longhorn Beta 2 tools

Additional Resources: Web Web resources WS-Devices Profile: lt.aspx?pull=/library/en-us/dnglobspec/html/devprof.asp Printer Working Group WHDC Printing home page: WHDC Still Imaging / WIA home page: Color Use Cases mspx mspx “Writing Effective Use Cases”, Alistair Cockburn, ISBN

Additional Resources: Other For developer print questions: For developer scan questions: For developer color questions: Developer kit references: SDK for Print Schema User Manual and Keywords: us/printschema/PrintSchema/Overviews/PrintSchema_entry.asp us/printschema/PrintSchema/Overviews/PrintSchema_entry.asp WDK for PT/PC interfaces: Reference\Printer Driver and Spooler Component Interfaces\Printer Driver Functions and Structures\Unidrv and Pscript Interfaces\Methods for Print Ticket Providers and Consumers WinFX Print System Object Documentation available in WinFX Beta 1 SDK

© 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.