Windows 10 SDK

Windows 10 SDK Fall Creators Update (10.0.16299.15) は、Windows 10 アプリを構築するための最新のヘッダー、ライブラリ、メタデータ、ツールを提供します。Windows 10 SDK を最新バージョンの Visual Studio 2017 と組み合わせて使うことで、Windows 10 用のアプリを構築する最適なエクスペリエンスが実現されます。

注: Windows 10 Creators Update (以降) をターゲットとする Windows 10 開発には、Visual Studio 2017 が必要です。この SDK は、以前のバージョンの Visual Studio では検出できません。

はじめに

最新の Visual Studio 2017 RTM には、この Windows 10 SDK のコピーが既に収録されています。Visual Studio インストーラーでユニバーサル Windows プラットフォーム開発作業ストリームを有効にすると、Windows SDK がインストールされます。

SDK をインストールする前に:

  1. このトピックに記載されているシステム要件をすべて確認します。
  2. インストールの前に Visual Studio 2017 RTM を終了します。Visual Studio が実行されていると、SDK のセットアップが失敗する可能性があります。ツールの一般的な問題について詳しくは、こちらをご覧ください
  3. このトピックの「既知の問題を確認します。

システム要件

Windows SDK の最小システム要件は次のとおりです。

サポートされるオペレーティング システム
  • Windows 10 アプリの開発 (UWP)

    • Windows 10 バージョン 1507 以降: Home、Professional、Education、Enterprise (LTSB および S はサポートされません)
    • Windows Server 2012 R2 (コマンド ラインのみ)、Windows Server 2016 (コマンド ラインのみ)
  • Win32 開発

    • Windows 10 バージョン 1507 以降
    • Windows Server 2016 Standard および Datacenter
    • Windows 8.1
    • Windows Server 2012 R2
    • Windows 7 SP1

    (以前のオペレーティング システムでは、一部のツールはサポートされません)

ハードウェア要件
  • 1.6 GHz 以上のプロセッサ
  • 1 GB の RAM
  • 4 GB の空き容量のあるハード ディスク
SDK に関するその他の要件

Windows 8.1 以前のオペレーティング システムにインストールするには、KB2999226 が必要です。Windows Update を通じてインストールするには、Windows SDK をインストールする前に、推奨される最新の更新プログラムとパッチを Microsoft Update から必ずインストールしてください。

新着情報

Windows 10 Fall Creators Update SDK では、ユニバーサル Windows アプリを開発するための、多くの魅力ある新しい API とプラットフォームが公開されます。詳しくは、Windows 10 バージョン 1710 の新着情報をご覧ください。

重要な変更

SDK からの Ecmangen.exe の削除

Ecmangen.exe は Windows SDK に収録されなくなりました。イベント マニフェストの作成に ecmangen を利用している開発者は、Windows Creators Edition の SDK をインストールしてファイルを入手することをお勧めします。開発者は、メモ帳や他の好みの XML エディターを使ってマニフェストを作成することもできます。スキーマ ファイルは次の場所に用意されています。

\Program Files (x86)\Windows Kits\10\Include\10.0.16299.0\um\eventman.xsd

詳細情報

WinRT 型のヘッダー生成が MIDL から MIDLRT に移行

WinRT 型を生成するヘッダーの生成は、MIDL ツールから MIDLRT ツールに移行しています。この変更により、パフォーマンスが大幅に向上し、いくつかの新機能も有効になります。

開発者が直面する可能性のある最も一般的な問題として、生成される WinRT ヘッダーには、非推奨の指定のサポートが追加されます。この変更の結果、非推奨の API を使うと、コードが非推奨の型にアクセスしていることを示す警告が C++ コンパイラによって生成されます。

コードに対する影響を評価するときは、次の点を考慮してください。

  1. WinMDIDL ツールでは、MIDL ヘッダーの生成に関する制限を回避するために cpp_quote ディレクティブが出力されていました。これらの cpp_quote ディレクティブは、新しいヘッダーの生成ロジックとは互換性がないため、削除する必要があります (または IDL ファイルの再生成が必要です)。
  2. [deprecated] としてマークされた WinRT 型は、生成後の C++ ヘッダーでも [[deprecated]] としてマークされるようになりました。このため、非推奨の型にアクセスしていることを示す警告 C4996 が発生することがあります。この問題を解決するには、プロジェクトのプリプロセッサ定義で DISABLE_WINRT_DEPRECATION を定義して、非推奨の指定を無視します。
Windows ランタイム列挙型の定義が C++ 標準に準拠

Visual C++ の ISO 標準 C++ への準拠を強化するために、Windows ランタイムの列挙型が標準準拠になりました。Windows 10 SDK を使ってソフトウェアを開発する場合は、この変更の影響を受ける可能性があります。

特に、フラグとしてマークされた列挙型との演算に使われる変数は、符号なし整数としてキャストする必要があります。列挙型定数と符号付き整数を使う演算では、コンパイラ エラーが発生します。これは、列挙型定数が符号なし整数として扱われるようになったためです。この影響を受ける列挙型は、SDK が提供するフラグ列挙型と、開発者が [flags] 属性を使ってキャストした列挙型です。

たとえば、次のコードでは、bit を整数としてキャストしています。

GamePadReading->get_Buttons(&NewButtonMask); for(int index=0;index<32;index++) { int bit = 1 << index; if( ((NewButtonMask & bit) == bit) && ((CurrentButtonMask & bit) != bit)) { JustPressedButtonMask |= (GamepadButtons)bit;

しかし、このコードは System.FlagsAttribute 属性を持つ GamepadButtons に依存しているため、bit を符号なしとしてキャストする必要があります。

unsigned int bit = 1 << index;

サンプル

GitHub から Windows 10 のサンプル アプリを入手できるようになりました。必要なコードを GitHub で探すことも、Git を使用してリポジトリの個人用コピーを作成することもできます。また、すべてのサンプルを zip 圧縮したアーカイブをダウンロードすることもできます。フィードバックをお待ちしておりますので、問題点やご質問がある場合は、リポジトリ内で新しい問題点をご提示ください。これらのサンプルは、ユニバーサル Windows プラットフォームをサポートするデスクトップ、モバイル、今後のデバイスで動作するように設計されています。その他のサンプルは、MSDN コード ギャラリーで見つかります。

Windows 10 Mobile エミュレーター

Emulator for Windows 10 Mobile は、モバイル エミュレーターとして Windows 10 を実行するデバイスをエミュレートするデスクトップ アプリケーションです。このアプリケーションを使用すると、仮想化された環境が提供されるため、物理デバイスを使用せずに Windows アプリのデバッグとテストを実行できます。また、アプリケーションのプロトタイプのための隔離環境としても使用できます。詳しくは、Windows 10 Mobile エミュレーターに関するページをご覧ください。

以前の SDK のバージョン

更新プログラムの詳細を含めて、以前にリリースされた SDK とエミュレーターについては、アーカイブ ページをご覧ください。

既知の問題

インストールの前に Visual Studio を終了

Visual Studio が実行中の場合、Windows SDK のインストールに失敗し、致命的なエラーが報告される可能性があります。インストールの前に Visual Studio を終了してください。

API の使用

新しい API を使おうとするときは、できるだけ多くの Windows 10 デバイスでアプリが正しく動作するように、アダプティブなアプリを記述することを検討してください。詳しくは、API コントラクトを使った機能の動的な検出に関する記事 (10 by 10) をご覧ください。

ツールの一般的な問題について詳しくは、こちらをご覧ください

最新のリリース ノートについては、Windows 開発者フォーラムをご覧ください。

このページは役に立ちましたか?
その他にご意見はありますか。
ありがとうございました! フィードバックにご協力いただき感謝します。
Microsoft をフォロー Twitter ブログ Facebook Twitter ブログ Facebook WeChat line