Presentation is loading. Please wait.

Presentation is loading. Please wait.

Building Metro style apps that connect to specialized devices

Similar presentations


Presentation on theme: "Building Metro style apps that connect to specialized devices"— Presentation transcript:

1 Building Metro style apps that connect to specialized devices
11/8/2018 8:13 PM HW-747T Building Metro style apps that connect to specialized devices George Roussos Senior Program Manager Microsoft Corporation Nar Ganapathy Partner SDE Microsoft Corporation © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

2 Agenda What is a specialized device?
Differentiating your device with an Metro style app Specialized device access models Specialized device access APIs You’ll leave with an understanding of how to… Access specialized devices from Metro style apps Choose the right API and access model for your device

3 What is a specialized device?

4 Extensible Built-in Experiences
What is a specialized device? Devices with Extensible Built-in Experiences Printers Webcam MB SIM Specialized Devices Portable Storage Networked Other

5 Windows 8 provides flexible APIs to build a Metro style app that showcases your device’s unique functionality.

6 Why… Device makers want the flexibility to differentiate
Not every device can be covered by a built-in experience or API in Windows 8 So we enabled you to create your own experience as a Metro style app

7 Customer benefits App is automatically installed when device connects
Can experience the richness of device with a Metro style app

8 Device maker benefits A Metro style app can access your device’s unique functionality Windows 8 installs your app when your device is connected You can control 100% of pixels displayed You can control which Metro style apps access your device

9 Specialized device access models

10 Specialized device access models
Open device access Many apps can access device Example devices: camera, smartphone, eBook reader Restricted device access Access restricted to app(s) declared in device metadata Example device: credit-card reader

11 Device access architecture

12 Device access for desktop apps
App Process App SetupDi API WPD HID WinUSB CreateFile/DeviceIoControl I/O Manager Driver Device Microsoft Partner

13 Comparison with Metro style app model
Desktop model Application A Application B I/O manager – access check per user Driver Device Microsoft Partner

14 Comparison with Metro style app model
Metro style model Metro style app A Metro style app B Device Access Broker I/O manager – access check per user Driver Device Microsoft Partner

15 Specialized device access for Metro style apps
app container Driver Package Metro style app (HTML/JS, C#,C++) Windows. Networking Windows. Storage Windows Runtime Component (C++) DeviceIoControl Windows Portable Device (WPD) Device Metadata Device Broker I/O Manager Application Manifest Driver Device Microsoft Partner

16 Windows Portable Device (WPD)
Specialized device APIs and access models Category API Family Access Model Specialized Portable Windows Portable Device (WPD) Both Storage Windows.Storage Open Networked Windows.Networking Open Other DeviceIOControl Restricted

17 Windows portable device (WPD) APIs

18 Windows portable device
11/8/2018 8:13 PM demo Windows portable device Based upon the portable device services SDK sample Nokia N8 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

19 (optional) Windows Runtime Component (C++)
WPD APIs app container Application Manifest <Capabilities> <DeviceCapability Name=“Device Service GUID” /> </Capabilities> Metro style app (optional) Windows Runtime Component (C++) WPD APIs Device Metadata SoftwareInfo.xml ,,,,,, <DeviceCompanionApplications> <Package>….</Package> </DeviceCompanionApplications> Optional Driver Portable Device MTP or MSC Class Driver Microsoft Partner

20 Storage device APIs

21 Metro style app (HTML/JS, C#, C++)
Windows.Storage APIs app container Application Manifest <Capabilities> removableStorage </Capabilities> Metro style app (HTML/JS, C#, C++) Windows.Storage APIs Device Metadata SoftwareInfo.xml ,,,,,, <DeviceCompanionApplications> <Package>….</Package> </DeviceCompanionApplications> Storage Device Microsoft Partner

22 Network device APIs

23 Windows.Networking APIs
app container Application Manifest <Capabilities> Internet </Capabilities> Metro style app (HTML/JS, C#, C++) Windows.Networking APIs Device Metadata SoftwareInfo.xml ,,,,,, <DeviceCompanionApplications> <Package>….</Package> </DeviceCompanionApplications> Networked PNP-X Device Microsoft Partner

24 DeviceIOControl APIs

25 DeviceIOControl APIs app container Application Manifest
<Capabilities> <DeviceCapability Name=“GUID for custom device interface class” /> </Capabilities> Metro style app (e.g., Microsoft.SDKSamples.Mofx2App) Windows Runtime Component (C++) CreateDeviceAccessInstance & DeviceIoControl API Device Metadata SoftwareInfo.xml ,,,,,, <PrivilegedApplications> App Identity, AccessCustomDriver </PrivilegedApplications> Custom Driver Other Device Driver Package [OsrUsb_Interface_AddProperty] {Enable restricted interface} Microsoft Partner

26 demo DeviceIOControl SDK sample: accessing a custom device
11/8/2018 8:13 PM demo DeviceIOControl SDK sample: accessing a custom device WDK sample: OSRUSBFX2 OSR USB FX2 learning kit © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

27 Recap

28 Recap Differentiate your specialized device with a Metro style app
Windows 8 has four APIs families for Metro style apps to access the unique functionality of your device Many apps can access your device in the open device access model Device makers can control which Metro style apps access their device in the restricted device access model

29 Related sessions [HW-322T] Designing great devices and drivers
[HW-283T] Introducing Metro style device apps [HW-275T] Building and delivering a great Metro style app for your device [PLAT-278T] Using connected devices in Metro style apps

30 Further reading and documentation
Windows Dev Center home   SDK Samples Custom Device Access Portable Device Services Removable Storage Whitepapers Metro style Device App for Specialized Devices - Design Guide The Device Software Lifecycle – Deployment, Acquisition, Uninstall and Update Process Metro style Device App for Specialized Devices Custom Driver Access Design Guide Metro style Device App for Specialized Devices Custom Driver Access Development Guide Questions? Please visit the forums on the Windows Dev Center at For best response, please include the Build Session # in the title of your post

31 thank you Feedback and questions http://forums.dev.windows.com
Session feedback

32 11/8/2018 8:13 PM © 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. © 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

33


Download ppt "Building Metro style apps that connect to specialized devices"

Similar presentations


Ads by Google