PCs and Devices in Windows 7: What You Need to Know Cameron Brodeur Program Manager Device Foundation Platform Adam Lenart Software.

Slides:



Advertisements
Similar presentations
Pharos Uniprint 8.3.
Advertisements

Module 3 Configuring Hardware on a Computer Running Windows XP Professional.
Web Services for Devices Install: Printers & Scanners
Sharpdesk Overview Desktop Composer Search Imaging      
Media Transfer Protocol supported. 2 Session Outline Overview Overview Why use a class protocol? Why use a class protocol? Core scenarios & functionality.
Overview Features & Functions 7/13/12. Foundations Need A Document Processing Solution That… Collects files automatically? Scans to Word? Scans to Desktop?
Niket Sanghvi Program Manager. Prerequisites Device metadata submission demo Winqual device experience overview Business rule deep dive Device metadata.
Overview I-LINE2 is a browser based, train weight management software package, designed to provide an information interface for Weighline and Streamline.
CCMDB 7.2.
System Center Configuration Manager Push Software By, Teresa Behm.
Content  Overview of Computer Networks (Wireless and Wired)  IP Address, MAC Address and Workgroups  LAN Setup and Creating Workgroup  Concept on.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 9: Implementing and Using Group Policy.
Microsoft Windows Vista Chapter 6 Customizing Your Computer Using the Control Panel.
MCDST : Supporting Users and Troubleshooting a Microsoft Windows XP Operating System Chapter 12: Network Printing and Offline Files.
Hands-On Microsoft Windows Server 2003 Administration Chapter 5 Administering File Resources.
Lab 03 Windows Operating Systems (Cont.). PYP002 Preparatory Computer ScienceWindows Operating System2 Objectives Develop a good understanding of 1. The.
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.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 8: Implementing and Managing Printers.
USB 2.0 INTRODUCTION NTUT CSIE 學 生:許家豪 指導教授:柯開維教授.
MCDST : Supporting Users and Troubleshooting a Microsoft Windows XP Operating System Chapter 5: User Environment and Multiple Languages.
Installing software on personal computer
A+ Guide to Software, 4e Chapter 11 Supporting Printers and Scanners.
Installing Windows XP Professional Using Attended Installation Slide 1 of 41Session 2 Ver. 1.0 CompTIA A+ Certification: A Comprehensive Approach for all.
UPnP™ Technologies in Windows® John Gehlsen Group Program Manager Windows Device Experience Group Microsoft Corporation.
Distributing Drivers on Windows Update
Product Retrieval Statistics Canada / Statistique Canada Chuck Humphrey ACCOLEDS/DLI Training December, 2001.
2. Introduction to the Visual Studio.NET IDE 2. Introduction to the Visual Studio.NET IDE Ch2 – Deitel’s Book.
May 9, USB 2.0 Opportunities in Retail Dan Clements Consumer Products and Technology Manager Circuit City Stores Inc.
Guide to MCSE , Second Edition, Enhanced 1 Objectives Understand and use the Control Panel applets Describe the versatility of the Microsoft Management.
Working with Drivers and Printers Lesson 6. Skills Matrix Technology SkillObjective DomainObjective # Understanding Drivers and Devices Install and configure.
Cameron Brodeur Program Manager. The Windows 7 Device Experience Device containers Device metadata Demo Q&A.
Managing Local and Network Printer Chapter 11 powered by dj.
Operating Systems Basic PC Maintenance, Upgrade and Repair Mods 1 & 2.
Operating Systems Operating System
Hands-On Microsoft Windows Server 2008
Crystal Hoyer Program Manager IIS Team Preview of features that will be announced at MIX09 Please do not blog, take pictures or video of session.
Getting Started with Application Software
Managing Windows Server 2008 R2 Lesson 2. Objectives.
Chapter 6 Configuring Windows Server 2008 Printing
1 Managing Printers (Week 12, Monday 3/26/2007) © Abdou Illia, Spring 2007.
Chapter Fourteen Windows XP Professional Fault Tolerance.
Overview Features & Functions 07/2013. Foundations Need A Document Processing Solution That… Collects files automatically? Scans to Word? Scans to Desktop?
Device And PC Integration With Discovery, Plug And Play, Publication, And Network Explorer Roland Ayala, Cameron Brodeur, and Aaron Cunningham Program.
SUSE Linux Enterprise Desktop Administration Chapter 12 Administer Printing.
With Windows 7 Introductory© 2011 Pearson Education, Inc. Publishing as Prentice Hall1 Windows 7 Introductory Chapter 2 Managing Libraries Folders, Files.
Windows Small Business Server 2003 Setting up and Connecting David Overton Partner Technical Specialist.
Guide to Linux Installation and Administration, 2e1 Chapter 2 Planning Your System.
MCTS Guide to Microsoft Windows Server 2008 Applications Infrastructure Configuration (Exam # ) Chapter Four Windows Server 2008 Remote Desktop Services,
Computing Fundamentals Module Lesson 3 — Changing Settings and Customizing the Desktop Computer Literacy BASICS.
1 Chapter Overview Publishing Resources in Active Directory Service Redirecting Folders Using Group Policies Deploying Applications Using Group Policies.
Installation Enumeration of Capabilities Presentation and Configuration Binding to Applications and Services.
Stuff By Zach and Turtle To designate a default printer, choose Start > Control Panel > Printers and Faxes. Right-click the printer, and then.
Module 3 Configuring File Access and Printers on Windows 7 Clients.
Module 3: Configuring File Access and Printers on Windows 7 Clients
Storage Device Design Pattern JEFF MEISSNER; KEN HARDY Windows Program Management.
Enhanced Storage Architecture
11 INSTALLING AND MANAGING HARDWARE Chapter 6. Chapter 6: Installing and Managing Hardware2 INSTALLING AND MANAGING HARDWARE  Install hardware in a Microsoft.
®® Microsoft Windows 7 for Power Users Tutorial 1 Exploring the Windows 7 Operating System.
5 Lesson 5: Installing and Configuring Desktop Applications and Windows Store Apps MOAC : Configuring Windows 8.1.
Tutorial 12 Managing Hardware and Networks
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
Lecture (7) Systems software and Application Software.Systems software and Application Software. Dr:Emad Elsharkawy Eng-Omar Salah Dr:Emad Elsharkawy 1.
Cscape EnvisionFX Horner APG, LLC March 7, EnvisionFX - What Does it Do? Graphical interface allows easy transfers of data to and from the PC and.
Lesson 6: Controlling Access to Local Hardware and Applications
Hands-On Microsoft Windows Server 2008 Chapter 5 Configuring Windows Server 2008 Printing.
Computer Literacy BASICS
Chapter 11 Supporting Printers and Scanners
Windows Summit /19/2019 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
Windows Operating System
Presentation transcript:

PCs and Devices in Windows 7: What You Need to Know Cameron Brodeur Program Manager Device Foundation Platform Adam Lenart Software Design Engineer Device Foundation Platform Ben McGregor Software Design Engineer - Test Device Foundation Platform

Agenda Creating a Device-Centric Experience Metadata for PCs and Devices Device Actions Demo

Creating a Device-Centric Experience

What Is a “Device”? Depends on who is asking the question: the user or the PC? Further complicated by what the device is capable of doing Devices can be single-function or multi-function Almost all devices have more than one devnode A devnode is an internal structure that represents a device function tied to a driver Multifunction devices have more than one devnode

Example: A Simple Device USB mouse often thought of as having a single function Actually has (at least) 2 devnodes Windows sees a multifunction device User thinks of the device as having a single function USB Human Interface Device HID-compliant mouse PKEY_Device_Interface = {378DE44C-56EF- 11D1-BC8C-00A0C91405DD} PKEY_DeviceInterface_DevicePath = USB#VID_413c&PID_3200#6&2894b41f&0&3#{a5dcb f d2-901f-00c04fb951ed} “It’s a mouse!”

The Problem PCs, applications, and users fundamentally see devices differently PCs and applications: strictly functional view where the device is a collection of interfaces and properties Users: device is a physical object which provides a set of functionality Both of these views are correct Today Windows does not support the user’s concept of a device How do we support both views of what constitutes a device?

The Solution: ContainerID New Plug and Play (PnP) device property in Windows 7 Groups devnodes together into a “device container” representing the physical device Allows Windows to determine how functionality is related Related functionality can be presented to the user as a device Preserves existing devnode model while providing a more natural representation of a physical device

ContainerID Enables a Device-Centric Experience

ContainerID Details Globally Unique Identifier (GUID) unique to a physical device All devnodes belonging to a device container on a given bus type must share the same ContainerID ContainerID is auto-generated by PnP Based on devnode topology and DEVICE_CAPABILITIES.Removable capability as reported by the bus driver Optionally, the bus driver can supply a ContainerID when enumerating a devnode

Which Devnodes Should Bus Drivers Report as Removable? Declaring that a devnode is Removable indicates to PnP that the devnode is the root of a device container Only the root devnode should be reported as Removable Child devnodes of the root should not be reported as Removable Unless they actually represent physically detachable devices Non-Removable child devnodes will inherit the ContainerID of their parent Device Root Device Root Function A Function A Function B Function B Removable Not Removable

What About the Computer? The computer is a device PnP will create a ContainerID for the computer Removable capability is used to group devnodes into a ContainerID for the computer There should be only one ContainerID for the entire PC Devices inside the PC need to report themselves as not Removable

Device Installation No ContainerID on Device MFP Root USB Hub USB Hub Printer Scanner USB Hub USB Hub Camera Storage Removable Not Removable {A} {B} {A} {B} {C} {D} {C} {D} {C} {B} {A} ContainerID

Device Installation ContainerID on Device PnP issues minor IRP function code IRP_MN_QUERY_ID to bus driver with new query request type BusQueryContainerID PnP issues minor IRP function code IRP_MN_QUERY_ID to bus driver with new query request type BusQueryContainerID If IRP handled, bus driver attempts to retrieve ContainerID value for device PnP issues minor IRP function code IRP_MN_QUERY_ID to bus driver with new query request type BusQueryContainerID If IRP handled, bus driver attempts to retrieve ContainerID value for device Bus driver determines best unique ID available on the device PnP issues minor IRP function code IRP_MN_QUERY_ID to bus driver with new query request type BusQueryContainerID If IRP handled, bus driver attempts to retrieve ContainerID value for device Bus driver determines best unique ID available on the device Bus driver returns ContainerID GUID to PnP PnP issues minor IRP function code IRP_MN_QUERY_ID to bus driver with new query request type BusQueryContainerID If IRP handled, bus driver attempts to retrieve ContainerID value for device Bus driver determines best unique ID available on the device Bus driver returns ContainerID GUID to PnP Devnodes belonging to the same device container all have the same ContainerID Explicitly reported by bus driver or Inherited from parent devnode My ContainerID is Retrieving … What’s your ContainerID? {140effad a1fd- 0b2685c0ef3e}

Device Installation ContainerID on Device PnP issues minor IRP function code IRP_MN_QUERY_ID to bus driver with new query request type BusQueryContainerID If IRP handled, bus driver attempts to retrieve ContainerID value for device Bus driver determines best unique ID available on the device Bus driver returns ContainerID GUID to PnP Devnodes belonging to the same device container all have the same ContainerID Explicitly reported by bus driver or Inherited from parent devnode

ContainerID for USB Devices 2 ways to retrieve a ContainerID on USB devices 1.MS OS ContainerID Descriptor Allows ContainerID to be specified for the device 2.USB Serial Number Serial number (if available) hashed to a ContainerID GUID

ContainerID for Bluetooth Devices Media Access Control (MAC) address is hashed to a ContainerID GUID All Bluetooth services and PnP devnodes originating from the Bluetooth device will be assigned this ContainerID

ContainerID for PnP-X Devices Network devices that implement the following protocols can specify a ContainerID in device metadata Device Profile for Web Services (DPWS) Universal Plug and Play (UPnP) New element defined for each protocol If element is not supplied, PnP will create a ContainerID for the device UPnP: Device UDN DPWS: Hash of endpoint reference address

ContainerID Summary Common Buses

ContainerID Action Items Ensure that your device reports its removable relationship correctly This will be used to create the ContainerID when the bus driver does not handle IRP_MN_QUERY_ID/ BusQueryContainerID Always embed uniqueness information in your devices ContainerID if supported by the bus Common buses will attempt to create a ContainerID based on unique information from the device Do not reuse the same ContainerID value across physical devices Each device needs a unique ContainerID to avoid identifier collision

Metadata for PCs and Devices

Windows 7 enables rich metadata to be associated with PCs and devices Enhances the device-centric user experience Device metadata provides A photorealistic icon of the device in the UI Device manufacturer, model, and description New device-centric UI will use metadata when available for a device Devices and Printers folder

Metadata in the Devices and Printers Folder Detailed Descriptions Photorealistic Icons Generic Descriptions Generic Icons

Metadata Package Overview A metadata package is authored by an IHV or OEM The metadata package is then submitted to Windows Quality Online Services (Winqual) for distribution via a Microsoft metadata server Metadata can also be distributed by a device or application installation package Metadata packages will be matched to a device using ModelID (New PKEY for Windows 7) HardwareID Metadata packages can be created to match against multiple ModelIDs and HardwareIDs

Metadata Package Overview (continued) Metadata packages will be easy to create using the Device Center Metadata Wizard Streamlined metadata package submission process through Winqual Metadata package documentation and tools will be released at WinHEC 2008 Start creating and submitting device metadata packages early Microsoft wants to help you provide a great out-of-box experience for your devices!

ModelID Details ModelID is a new device property key in Windows 7 DEVPKEY_Device_ModelId of type DEVPROP_TYPE_GUID ModelID allows differentiation between devices which share the same manufacturer and model E.g. The same make/model of a device may be available in multiple colors Each color has a different ModelID to match the appropriate metadata package E.g. The same make/model of cell phone is branded by several OEMs Each OEM branded phone has a different ModelID to match the OEM provided metadata package

ModelID for the PC PC OEMs Take Note! Windows 7 automatically generates a ModelID for the PC ModelID is generated by hashing the System Management BIOS (SMBIOS) reported system description and manufacturer Ensure these properties are available and unique for each PC model and manufacturer A tool (ComputerModelID.exe) will be provided to report the ModelID generated for the PC In the absence of metadata Windows 7 will use the SMBIOS reported enclosure type to display an accurate default icon

Metadata Action Items Identify devices that would benefit from having metadata Always include a device specific HardwareID Enables devices to be matched to a metadata package Ensure HardwareID is specific to the device make and model HardwareID should be present even if it will not be used for driver package matching PC OEMs – Provide accurate information in the SMBIOS Information in the SMBIOS will be used to create a ModelID for the PC Complete information on authoring device metadata packages will be released on in the WinHEC timeframe

Device Actions

Device Actions Overview After installing a device, it is not always clear how to manage or use the device Start menu > All Programs Desktop shortcut Control Panel The Devices and Printers folder provides the capability to associate actions with a device Launch point for device experiences

Advantages of Device Actions Configurable Double-click Action Additional Device Actions Extensible Device Properties

How Actions Are Associated with a Device Actions can be associated with a device using the following ModelID HardwareID CompatibleID Device Interface Class GUID Actions are registered for a device using the shell standard extensibility model for context menus Device actions registered under HKCR\DeviceDisplayObject Registered actions are exposed in the Devices and Printers folder Most Specific Least Specific

Mouse Context Menu Handler Example Default context menu handler for mouse Registered against the mouse interface class Shell extensibility provides flexibility to specify Context menu icon Context menu text Command to execute for this context menu item Device specific action displayed in context menu for device

Demo The Device-Centric Experience in Windows 7

Action Items Ensure that your device 1.Correctly reports its removable relationship for each devnode 2.Embeds a unique identifier (e.g. ContainerID or serial number) 3.Appears as one device in the Devices and Printers folder 4.Includes a device-specific HardwareID for metadata package matching Author metadata packages for your device Expose important device actions in the Devices and Printers folder

Resources Upcoming white papers for Windows 7 on WHDC Web site Multifunction Device Framework Using ModelID to Specify Metadata

Questions