SlideShare a Scribd company logo
Windows でハードウェアを制御する技術について、
デバイスドライバー開発から.NET Coreまでを全て
解説
Windows Hardware
2006 -- WinHEC カテゴリー
Global Summit
Windowsドライバー
新アーキテクチャ導入
Longhorn 新機能
WinFS, WPF, WCF, Aero, UAC,
Defender, …
WinHEC とは?
Windows 3.1
の頃から続くイベント
↓
Build に交代
↓
最近復活
Windowsでハードウェアを制御する
技術について、デバイスドライバー
開発から.NET Core までを全て解説
WHDC
Windows Hardware
Windows Hardware
Windows Hardware
x64
WDM
UMDF 2.x
KMDF
UMDF 1.x
x86
ARM32
ARM64
ユニバーサル
ドライバー
Windows 98 のUSBが元
• ドライバー開発専用のモデル(アーキテクチャ)
NTはMicro Kernel
Open Source
実体はOSモジュールを切り出してドキュメント公開しただけ
同じアプリに
同一API を提供
アプリケーションは
ドライバーモデルを意識しない
例外有り:特定ドライバーは特定モデルでだけ記述可能
SDK, WDKは常に最新版だけを使用
Visaul Studioは最新版に更新
EV 証明書(会社登記、7~12万円)
1年間だけ有効
EV 証明書(会社登記、7~12万円)一年間
PC 数台を使用して
数日から一週間かかるテスト
Windows Hardware
• Wizard/Template でスケルトン
ドライバーがすぐ開発可能
• ターゲットマシンへのDeployも
自動化
Windows Hardware
Windows Hardware
Windows Hardware
• Microsoft OS Descriptor
★DOS APIとの決別
COM番号の心配不要
Windows.Devices.Adc Windows.Devices.I2c Windows.Devices.Scanners
Windows.Devices.AllJoyn Windows.Devices.Input Windows.Devices.Sensors
Windows.Devices.Background Windows.Devices.Lights Windows.Devices.SerialCommunic
ation
Windows.Devices.Bluetooth Windows.Devices.Midi Windows.Devices.SmartCards
Windows.Devices.Custom Windows.Devices.Perception Windows.Devices.Sms
Windows.Devices.Display Windows.Devices.PointOfService Windows.Devices.Spi
Windows.Devices.Enumeration Windows.Devices.Portable Windows.Devices.Usb
Windows.Devices.Geolocation Windows.Devices.Power Windows.Devices.WiFi
Windows.Devices.Gpio Windows.Devices.Printers Windows.Devices.WiFiDirect
Windows.Devices.Haptics Windows.Devices.Pwm
Windows.Devices.HumanInterface
Device
Windows.Devices.Radios
Windows Hardware
• デスクトップアプリでUWP用ライブラリが利用可能
• 新ハードウェア制御ライブラリ
Windows Hardware
Windows Hardware
Snapdragn 835, 845, 850 用 ARM版 Windows 10
Insider Previewを
Raspberry Pi3 (Broadcom BCM2837) に移植して動作
Windows 10 on ARM
自己責任でお楽しみください
去年公開された時はADK の
インストール、操作が
結構大変だった。
ADK=Windows Embedded 開発ツール
WOA Deployer for
Raspberry Pi 2.1.0
①
②
• Insert the Micro SD card into your Raspberry Pi
• Turn it on and wait for the UEFI console to load
• Type "exit" + press [ENTER] and you will be presented with the UEFI interface
• Go to the ‘Boot Maintenance Manager’ menu and select ‘Boot Options'. Choose 'Change Boor Order'
• Select 'Change the order'
• Put the 'SD/MMC on Broadcom SDHOST' as the first element.
• Save the changes
• Go back to the Main Menu and choose 'Boot Manager'
• Select 'SD/MMC on Broadcom SDHOST' and Windows will boot.
現在の IoT Edge V2 (Windows版) は x64だけ
(Windows 10 IoT Coreもあるが Raspiは不可)
IoT 用途の WindowsでのHardware 制御が課題に
Windows Hardware
ありがとうございました。

More Related Content

PPTX
Windows 10 driver development
PPTX
Windows 10 driver development (fixed, rev.2)
PPTX
Windows 11 insider tips for developer
PPTX
My highlight topics_in_2021
PDF
第21回「Windows Server 2012 DeepDive!! Hyper-V と VDI を徹底解説」(2012/10/18 on しすなま!)...
PDF
Javaでマルチプラットフォーム対応ゲーム開発(JAGA#33)
PPTX
Meltdown を正しく理解する
PPTX
Windows8活用研究2 2013-01-26-公開用
Windows 10 driver development
Windows 10 driver development (fixed, rev.2)
Windows 11 insider tips for developer
My highlight topics_in_2021
第21回「Windows Server 2012 DeepDive!! Hyper-V と VDI を徹底解説」(2012/10/18 on しすなま!)...
Javaでマルチプラットフォーム対応ゲーム開発(JAGA#33)
Meltdown を正しく理解する
Windows8活用研究2 2013-01-26-公開用

What's hot (20)

PDF
艦これシミュレータ改のチュートリアル
PDF
KH Coder 2 チュートリアル(スライド版)
PDF
最近のWindowsタブレット、ガジェットLinuxハッキング #osc17sm
PPT
シストリックアレイRTS企画素案 for 任天堂3DS
PDF
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
PDF
Android タブレット、スマートウォッチにLinuxを入れて色々と遊んでみよう Hacking of Android Tablet and Smart...
PDF
ドライバハッキング。UMPC、Windowsタブレット にLinux、*BSDを入れて遊ぼう  2017年度京都版 #osckyoto
PDF
ZTE OPEN を日本語化(バージョンアップ)してみる
PDF
Hacking with x86 Windows Tablet and mobile devices on openSUSE #opensuseasia17
PDF
KH Coder 3 チュートリアル(スライド版)
PDF
【旧版】KH Coder 3 チュートリアル(スライド版)
PDF
Windows10タブレットに各種Linuxディストリを入れて遊ぼう 2017年度東京Spring版
PDF
openSUSE42.2 on Windows Tablet T100TA
PPTX
Wndows 10 Fall Creators Update Insider Previewから見たアップデート内容
PDF
「ハイパーバイザの作り方」読書会#1
PDF
DOSBox for beginners はじめてのDOSBox
PDF
Androidクラウドブック DynabookAZでLinuxを色々と遊んでみよう
PDF
Android Nexus7でLinuxを色々と遊んでみよう Hacking of Android Nexus7 by Linux
PPTX
OneDrive Files On-Demand
PDF
GPD-WINや中華ノートPCなどATOM機器に 各種Linuxディストリを入れて遊ぼう Install Linux Distributions on G...
艦これシミュレータ改のチュートリアル
KH Coder 2 チュートリアル(スライド版)
最近のWindowsタブレット、ガジェットLinuxハッキング #osc17sm
シストリックアレイRTS企画素案 for 任天堂3DS
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
Android タブレット、スマートウォッチにLinuxを入れて色々と遊んでみよう Hacking of Android Tablet and Smart...
ドライバハッキング。UMPC、Windowsタブレット にLinux、*BSDを入れて遊ぼう  2017年度京都版 #osckyoto
ZTE OPEN を日本語化(バージョンアップ)してみる
Hacking with x86 Windows Tablet and mobile devices on openSUSE #opensuseasia17
KH Coder 3 チュートリアル(スライド版)
【旧版】KH Coder 3 チュートリアル(スライド版)
Windows10タブレットに各種Linuxディストリを入れて遊ぼう 2017年度東京Spring版
openSUSE42.2 on Windows Tablet T100TA
Wndows 10 Fall Creators Update Insider Previewから見たアップデート内容
「ハイパーバイザの作り方」読書会#1
DOSBox for beginners はじめてのDOSBox
Androidクラウドブック DynabookAZでLinuxを色々と遊んでみよう
Android Nexus7でLinuxを色々と遊んでみよう Hacking of Android Nexus7 by Linux
OneDrive Files On-Demand
GPD-WINや中華ノートPCなどATOM機器に 各種Linuxディストリを入れて遊ぼう Install Linux Distributions on G...
Ad

More from Atomu Hidaka (20)

PPTX
Guidance for beginners and experts on how to set up a Windows driver developm...
PPTX
What the end of support of Windows 10 will mean?
PPTX
Explains how to use USBView, which is useful for analyzing Windows USB problems
PPTX
Explaining how to use MBR2GPT in preparation for the end of Windows 10 support
PPTX
The requirements for installing Windows 11 on older PCs have been relaxed.
PPTX
EnOcean-iot, Generative-AI, and RAG for LLM
PPTX
Introduction to the Thunder Cloud Project Technical Committee
PPTX
WSL for IoT, Microcomputer, and Yocto Project
PPTX
Tips and tricks for WSL users: Two easy and reliable ways to get started with...
PPTX
Customize Chat-GPT using Azure OpenAI Studio
PPTX
Useful Tips and Tricks for Windows 11 TPM Part 2
PPTX
How to use EnOcean Gateway with Azure OpenAI
PPTX
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
PPTX
Tips and Tricks for developing Windows APO drivers
PPTX
Useful Tips and Tricks for Windows 11 TPM
PPTX
Develop Windows 11 drivers with GitHub Copilot's AI capabilities
PDF
Windows 11 22H2 Feature-Update, Copilot, and Tips
PPTX
Windows 11 information that can be used at the development site
PPTX
ChatGPT solution with EnOcean Gateway
PPTX
Windows ChatGPT Bing AI
Guidance for beginners and experts on how to set up a Windows driver developm...
What the end of support of Windows 10 will mean?
Explains how to use USBView, which is useful for analyzing Windows USB problems
Explaining how to use MBR2GPT in preparation for the end of Windows 10 support
The requirements for installing Windows 11 on older PCs have been relaxed.
EnOcean-iot, Generative-AI, and RAG for LLM
Introduction to the Thunder Cloud Project Technical Committee
WSL for IoT, Microcomputer, and Yocto Project
Tips and tricks for WSL users: Two easy and reliable ways to get started with...
Customize Chat-GPT using Azure OpenAI Studio
Useful Tips and Tricks for Windows 11 TPM Part 2
How to use EnOcean Gateway with Azure OpenAI
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
Tips and Tricks for developing Windows APO drivers
Useful Tips and Tricks for Windows 11 TPM
Develop Windows 11 drivers with GitHub Copilot's AI capabilities
Windows 11 22H2 Feature-Update, Copilot, and Tips
Windows 11 information that can be used at the development site
ChatGPT solution with EnOcean Gateway
Windows ChatGPT Bing AI
Ad

Windows Hardware