Windows 10 SDK

Windows 10 Version 2004 用 Windows 10 SDK (10.0.19041.0) は、Windows 10 アプリを構築するための最新のヘッダー、ライブラリ、メタデータ、ツールを提供します。

この SDK を使用して、Windows 10 Version 20H2 やそれ以前の Windows リリースに対応するユニバーサル Windows プラットフォーム (UWP) と Win32 のアプリケーションを構築することができます。

はじめに

Windows 10 SDK は 2 通りの方法で入手できます。[ダウンロード] リンクを選択してこのページからインストールするか、Visual Studio 2019 インストーラーのオプション コンポーネントで [Windows 10 SDK (10.0.19041.0)] を選択します。

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

  1. 下記のシステム要件をすべて確認してください。
  2. インストールの前に Visual Studio 2019 を終了してください。
  3. 下記の「既知の問題」を確認してください。

システム要件

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

サポートされているオペレーティング システム

  • ユニバーサル Windows プラットフォーム (UWP) アプリの開発
    • Windows 10 バージョン 1507 以降:Home、Professional、Education、Enterprise (LTSB および S はサポートされません)
    • Windows Server 2019、Windows Server 2016、Windows Server 2012 R2 (コマンド ラインのみ)
  • Win32 アプリの開発
    • Windows 10 バージョン 1507 以降
    • Windows Server 2019、Windows Server 2016、Windows Server 2012 R2 (コマンド ラインのみ)
    • Windows 8.1
    • Windows 7 SP1

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

ハードウェア要件

  • 1.6 GHz 以上のプロセッサ
  • 1 GB の RAM
  • 4 GB の空き容量のあるハード ディスク

SDK に関するその他の要件

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

新着情報

Windows 10 Version 2004 用の Windows 10 SDK では、Windows アプリケーションを開発するための魅力ある新しい API と更新されたツールが提供されます。詳しくは、Windows 10 Version 2004 の新着情報をご覧ください。

API

Windows 10 Version 2004 で導入された新しい API については、「Windows 10 ビルド 19041 の開発者向け新着情報」をご覧ください。

api-ms-win-net-isolation-l1-1-0.lib の削除

このリリースでは、Windows SDK から api-ms-win-net-isolation-l1-1-0.lib が削除されています。api-ms-win-net-isolation-l1-1-0.lib にリンクしていたアプリは、代わりに OneCoreUAP に切り替えることができます。

irprops.lib の削除

このリリースでは、Windows SDK から irprops.lib が削除されています。irprops.lib にリンクしていたアプリは、代わりに bthprops.lib に切り替えることができます。

wuapicommon.h と wuapicommon.idl の削除

このリリースでは、ENUM tagServerSelection を wuapicommon.h から wupai.h に移動し、ヘッダーを削除しました。ENUM tagServerSelection を使用する場合は、wuapi.h または wuapi.idl を含める必要があります。

Windows 10 WinRT API Pack

Windows 10 WinRT API Pack を使用すると、最新の Windows Runtime API サポートを .NET Framework 4.5+ および .NET Core 3.0+ のライブラリとアプリに追加できます。Windows 10 WinRT API Pack にアクセスするには、Microsoft.Windows.SDK.Contracts NuGet パッケージに関するページをご覧ください。

Universal C Runtime (UCRT)

関数の printif ファミリが正確に表現可能な浮動小数点数を出力するときに IEEE 754 丸め規則に準拠するようになりました。また、fesetround への呼び出しによって要求される丸めモードに従うようになります。レガシ動作は、legacy_stdio_float_rounding.obj とリンクすると使用できます。

ツール

Windows アプリ認定キット

Windows SDK のこのリリースでは、アプリ認定キットおよび Windows ストアの「サポートされている API」の一覧に新しい API がいくつか追加されました。サポート リストには記載されているが、Visual Studio で淡色表示されているか無効になっている API がある場合は、ソース ファイルに少し変更を加えることでアクセスできます。詳細については、こちらの既知の問題をご覧ください。

API の追加に加えて、テストに次のような変更が加えられました。

更新されたテスト:

  • ValidateContentUriRules は情報提供のみを目的としています。テストの失敗は警告として表示されます。

削除されたテスト

  • Web アプリの WebView WinRT アクセス テスト
  • UWP アプリの PackageSizeCheck テスト
  • デスクトップ ブリッジ アプリの SupportedApi テスト
  • UWP アプリの BinScope からの AppContainerCheck テスト
  • すべてのアプリの種類の ServiceWorker チェック

新しいテスト

  • 高 DPI テスト。デスクトップ ブリッジ アプリの新しいテストでは、アプリが DPI 対応機能を使用しているかどうかを確認し、指定されていない場合は警告を表示します。このテストでは、お使いのアプリをモニターごとの DPI 対応にすることをお勧めします。DPI の詳細については、Windows での高 DPI デスクトップ アプリケーションの開発をご覧ください。

メッセージ コンパイラ (MC.exe)

更新プログラムには次の内容が含まれます。

  • .mc ファイルの Unicode バイト オーダー マーク (BOM) が検出されるようになりました。.mc ファイルが UTF-8 BOM で始まる場合は、UTF-8 ファイルとして読み取られます。それ以外の場合、たとえば UTF-16LE BOM で始まる場合は、UTF-16LE ファイルとして読み取られます。-u パラメーターが指定されている場合は、UTF-16LE ファイルとして読み取られます。それ以外の場合は、現在のコード ページ (CP_ACP) を使用して読み取られます。
  • 構成マクロの競合によって引き起こされる MC 生成 C/C++ ETW ヘルパーでの One-Definition Rule (ODR) の問題が回避されるようになりました (たとえば、競合している MCGEN_EVENTWRITETRANSFER の定義を持つ 2 つの .cpp ファイルが同じバイナリにリンクされている場合、MC 生成 ETW ヘルパーは、定義を任意に選択するのではなく、各 .cpp ファイル内の MCGEN_EVENTWRITETRANSFER の定義を優先します。)

Windows トレース プリプロセッサ (tracewpp.exe)

更新プログラムには次の内容が含まれます。

  • Unicode 入力 (.ini、tpl、ソース コード) ファイルがサポートされるようになりました。UTF-8 または UTF-16 バイト オーダー マーク (BOM) で始まる入力ファイルは、Unicode として読み取られます。BOM で始まらない入力ファイルは、現在のコード ページ (CP_ACP) を使用して読み取られます。旧バージョンとの下位互換性のため、-UnicodeIgnore コマンドライン パラメーターが指定されている場合、UTF-16 BOM で始まるファイルは空として扱われます。
  • Unicode 出力 (tmh) ファイルがサポートされるようになりました。既定では、出力ファイルは現在のコード ページ (CP_ACP) を使用してエンコードされます。Unicode 出力ファイルを生成するには、コマンドライン パラメーター -cp:UTF-8 または -cp:UTF-16 を使用します。
  • 動作の変更: tracewpp は、すべての入力テキストを Unicode に変換し、Unicode で処理を実行し、出力テキストを指定された出力エンコードに変換するようになりました。以前のバージョンの tracewpp は、Unicode 変換を回避し、シングルバイト文字セットを想定してテキスト処理を実行していました。これにより、入力ファイルが現在のコード ページに準拠していない場合の動作が変わる可能性があります。これが問題になる場合は、エンコードのあいまいさを避けるために、入力ファイルを UTF-8 (BOM) に変換するか、-cp:UTF-8 コマンドライン パラメーターを使用して変換することを検討してください。

TraceLoggingProvider.h

更新プログラムには次の内容が含まれます。

  • 構成マクロの競合によって引き起こされる MC 生成 C/C++ ETW ヘルパーでの One-Definition Rule (ODR) の問題が回避されるようになりました (たとえば、競合している TLG_EVENT_WRITE_TRANSFER の定義を持つ 2 つの .cpp ファイルが同じバイナリにリンクされている場合、TraceLoggingProvider.h ヘルパーは、任意に定義を選択するのではなく、各 .cpp ファイル内の TLG_EVENT_WRITE_TRANSFER の定義を優先します。)
  • C++ コードでは、可変個引数テンプレートを使用して類似イベント間でコードを共有できるように、TraceLoggingWrite マクロが更新されました。

Device Guard 署名によるアプリへの署名

アプリに簡単に署名できるようになります。Device Guard の署名は、ビジネスおよび教育機関向け Microsoft Store で提供される Device Guard 機能です。署名により、企業はすべてのアプリが信頼できる発行元からのものであることを保証できます。お客様の MSIX パッケージへの署名を簡単に行えるようにすることが目的です。Device Guard の署名についてのドキュメントをご覧ください。

サンプル

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

以前の SDK のバージョン

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

API の使用

新しい API を使用するときは、できるだけ多くの種類の Windows 10 デバイスでアプリが正しく動作するように、アダプティブなアプリを記述することを検討してください。アダプティブ アプリでは、デバイスと Windows バージョンでサポートされている場合は新しい機能で利便性が向上しますが、サポートされていない場合は検出されたプラットフォーム バージョンで使用できる機能のみが提供されます。実装の詳細については、バージョン アダプティブ コードに関する記事をご覧ください。

フィードバックと既知の問題

既知の問題に関するフィードバックと更新情報については、開発者フォーラムをご覧ください。

開発者向けの新しい機能の要求については、[開発者プラットフォーム/API] カテゴリの下にあるフィードバック Hub アプリから送信してください。

その他のリソース

ダウンロードとツール

Visual Studio と Windows 10 開発ツールの最新エディションを入手できます。

詳細情報

SDK アーカイブ

Windows SDK およびその他のツールの以前のリリースを検索できます。

アーカイブを見る

Windows ブログ

Microsoft ブログにサブスクライブすることにより、最新の SDK フライトを確認できます。

SDK フライト ニュースの取得

Windows ライフサイクルのファクト シート

Windows リリースの更新プログラムとサポート終了の主な日付をご確認ください。

ファクト シートを確認する