• • • • 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.

Download Report

Transcript • • • • 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.

•
•
•
•
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
What is a specialized device?
Devices with
Extensible
Built-in
Experiences
Printers
Webcam
MB SIM
Portable
Specialized
Devices
Storage
Networked
Other
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
• App is automatically installed when device connects
• Can experience the richness of device with a Metro style app
• 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
Specialized device access models
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
Device access architecture
App Process
App
SetupDi API
WPD
HID
CreateFile/DeviceIoControl
I/O Manager
Driver
Device
WinUSB
Application A
Application B
I/O manager – access check per user
Driver
Device
Metro style app A
Metro style app B
Device Access Broker
I/O manager – access check per user
Driver
Device
app container
Metro style app (HTML/JS, C#,C++)
Windows Runtime Component (C++)
Windows.
Networking
Windows.
Storage
DeviceIoControl
Windows Portable
Device (WPD)
Device Broker
I/O Manager
Driver
Device
Specialized
Category
API Family
Access Model
Portable
Windows Portable Device (WPD)
Both
Storage
Windows.Storage
Open
Networked
Windows.Networking
Open
Other
DeviceIOControl
Restricted
Windows portable
device (WPD) APIs
app container
Metro style app
(optional) Windows Runtime Component (C++)
WPD APIs
Optional Driver
MTP or MSC Class Driver
Portable Device
Storage device APIs
app container
Metro style app (HTML/JS, C#, C++)
Windows.Storage APIs
Storage Device
Network device APIs
app container
Metro style app (HTML/JS, C#, C++)
Windows.Networking APIs
Networked PNP-X Device
DeviceIOControl APIs
app container
Metro style app (e.g., Microsoft.SDKSamples.Mofx2App)
Windows Runtime Component (C++)
CreateDeviceAccessInstance & DeviceIoControl API
Custom Driver
Other Device
Recap
• [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
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
http://forums.dev.windows.com
http://forums.dev.windows.com
http://bldw.in/SessionFeedback