Windows SDK

Windows SDK (10.0.26100) untuk Windows 11 menyediakan header, pustaka, metadata, dan alat terbaru untuk membangun aplikasi Windows. Gunakan SDK ini untuk membangun aplikasi Universal Windows Platform (UWP) dan Win32 untuk Windows 11, versi 24H2, dan rilis Windows sebelumnya.

Ujung

Windows App SDK
Windows App SDK menyediakan sekumpulan API dan alat terpadu yang dipisahkan dari OS dan dirilis ke pengembang melalui paket NuGet. API dan alat ini dapat digunakan dengan cara yang konsisten oleh aplikasi desktop apa pun di Windows 11 dan downlevel ke Windows 10, versi 1809.

Persiapan

Anda bisa mendapatkan Windows SDK dengan dua cara: instal dari halaman ini dengan memilih tautan unduhan atau dengan memilih "Windows 11 SDK (10.0.26100.0)" di komponen opsional Alat Penginstal Visual Studio 2022. Sebelum Anda menginstal SDK ini:

  • Tinjau semua persyaratan sistem
  • Keluar dari Visual Studio sebelum penginstalan.
  • Tinjau catatan Rilis dan Masalah yang Diketahui.

Unduh > penginstal

Terakhir diperbarui: Januari 2025

Persyaratan sistem

Windows SDK memiliki persyaratan sistem minimum berikut:

Sistem operasi yang didukung

  • Windows 11, versi 21 jam2 atau lebih tinggi: Home, Pro, Education, and Enterprise (LTSC tidak didukung untuk UWP)
  • Windows 10, versi 1507 atau lebih tinggi: Home, Pro, Education, and Enterprise (mode LTSB/LTSC dan S tidak didukung untuk UWP)
  • Windows Server 2022, Windows Server 2019, Windows Server 2016, dan Windows Server 2012 R2 (Baris perintah saja)
  • Windows 8.1
  • Windows 7 SP1

(Tidak semua alat didukung pada sistem operasi sebelumnya)

Persyaratan perangkat keras

  • Prosesor 1,6 GHz atau lebih cepat
  • RAM 1 GB
  • 4 GB ruang hard disk yang tersedia

Persyaratan SDK tambahan

Penginstalan pada Windows 8.1 dan sistem operasi yang lebih lama memerlukan Pembaruan untuk Universal C Runtime di Windows. Untuk menginstal melalui Windows Update, pastikan Anda menginstal pembaruan dan patch terbaru yang direkomendasikan dari Microsoft Update sebelum Anda menginstal Windows SDK.

Sampel

Sampel aplikasi Windows sekarang tersedia melalui GitHub. Anda dapat menelusuri kode di GitHub, mengkloning salinan pribadi repositori dari Git, atau mengunduh arsip zip dari semua sampel. Kami menyambut umpan balik, jadi jangan ragu untuk membuka masalah dalam repositori jika Anda memiliki masalah atau pertanyaan. Sampel ini dirancang untuk berjalan pada desktop, seluler, dan perangkat mendatang yang mendukung Universal Windows Platform (UWP).

Versi SDK sebelumnya

SDK dan emulator yang dirilis sebelumnya, termasuk detail pembaruan, dapat ditemukan di halaman arsip .

Api Menyala

Saat Anda menggunakan API baru, pertimbangkan untuk menulis aplikasi agar adaptif sehingga berjalan dengan benar pada array terluas perangkat Windows. Aplikasi adaptif "menyala" dengan fitur baru di mana pun perangkat dan versi Windows mendukungnya, tetapi jika tidak, hanya menawarkan fungsionalitas yang tersedia pada versi platform yang terdeteksi. Untuk detail implementasi, lihat artikel kode adaptif Versi .

Catatan rilis dan masalah yang diketahui

Windows 11, Build 10.0.26100.2454 (dirilis 01/2025)

Membuat penambahan atau perubahan besar pada header Win32 berikut:

  • windows.applicationmodel.background.h: Menambahkan banyak API terkait bluetooth.
  • windows.applicationmodel.calls.h: Menambahkan banyak API konfigurasi panggilan VOIP.

Banyak API eksperimental ditambahkan ke header Win32 berikut (Harap dicatat bahwa API eksperimental tidak boleh digunakan di lingkungan produksi):

  • webauthn.h

Menambahkan atau memodifikasi API Win32 berikut:

certsrv.h:

  • CRL_BUILD_PROPID
  • CRL_EXTRACT_KEY_INDEX
  • CRL_EXTRACT_PARTITION_INDEX

clusapi.h:

  • NodeSriovInfo

combaseapi.h:

  • STDMETHOD_CHPE_PATCHABLE

d2d11.h:

  • d3d11. D3D11_FEATURE_DATA_D3D11_OPTIONS6

filter.h:

  • IPixelFilter
  • IPixelFilter.GetImageInfo
  • IPixelFilter.GetPixelsForImage
  • IMAGE_INFO
  • IPixelFilterVtbl

http.h:

  • _HTTP_REQUEST_TRANSPORT_IDLE_CONNECTION_TIMEOUT_INFO

msclus.h:

  • NodeSriovInfo

ntsecapi.h:

  • _KERB_CHANGEMACHINEPASSWORD_REQUEST

winenclaveapi.h:

  • EnclaveEncryptDataForTrustlet
  • EnclaveUsesAttestedKeys

winnt.h:

  • STDAPI_CHPE_PATCHABLE_

winuser.h:

  • GetCurrentMonitorTopologyId

Ikuti praktik terbaik untuk memastikan API tersedia di komputer sebelum dipanggil.

Windows 11, Build 10.0.26100.1742 (dirilis 24/9/2024)

Rilis agar sesuai dengan rilis publik Windows 11 versi 24h2.

Windows 11, Build 10.0.26100 (dirilis 22/5/2024)

Rilis awal seri 10.0.26100, agar sesuai dengan pratinjau Windows 11 versi 24h2.

Windows 11, Build 10.0.22621.3235 (dirilis 2/2/2024)

Pembaruan layanan 10.0.22621.3235.

Windows 11, Build 10.0.22621.2428 (dirilis 24/10/2023)

Pembaruan layanan 10.0.22621.2428.

Windows 11, Versi 22H2, Build 10.0.22621.1778

Pembaruan 10.0.22621.1778. Fitur yang disorot meliputi:

  • WINDOWTabManager API memungkinkan aplikasi dengan antarmuka bertab untuk memberikan informasi tentang tab terbuka ke shell Windows.
  • Pembaruan pada API HumanPresence untuk meningkatkan kemudahan penggunaan dan menambahkan pengaturan baru untuk sensor yang mendukung kemampuan kehadiran manusia.
  • API RemoteDesktop memungkinkan aplikasi beralih antara desktop jarak jauh dan lokal.
Windows SDK untuk Windows 11, versi 22H2
  • Pembaruan layanan 10.0.22621.755. Menyertakan dukungan ARM64 untuk rilis VS 17.4
Windows 10 SDK, Versi 2104
  • Dihapus api-ms-win-net-isolation-l1-1-0.lib. Aplikasi yang menautkan terhadap api-ms-win-net-isolation-l1-1-0.lib dapat mengalihkan t OneCoreUAP.lib sebagai pengganti.

  • Dihapus irprops.lib. Aplikasi yang menautkan terhadap irprops.lib dapat beralih ke bthprops.lib sebagai pengganti drop-in.

  • Memindahkan tag ENUMServerSelection dari wuapicommon.h ke wupai.h dan menghapus header. Jika Anda ingin menggunakan ENUM tagServerSelection, Anda harus menyertakan wuapi.h atau wuapi.idl.

  • Windows 10 WinRT API Pack memungkinkan Anda menambahkan dukungan WINDOWS Runtime API terbaru ke pustaka dan aplikasi .NET Framework 4.5+ dan .NET Core 3.0+. Untuk mengakses Paket WINDOWS 10 WinRT API, lihat paket nuget Microsoft.Windows.SDK.Contracts.

  • Keluarga fungsi printf sekarang sesuai dengan aturan pembulatan IEEE 754 ketika mencetak angka floating-point yang tepat dapat diwakili dan akan menghormati mode pembulatan yang diminta melalui panggilan ke fesetround. Perilaku warisan tersedia saat menautkan dengan legacy_stdio_float_rounding.obj.

  • Kit Sertifikasi Aplikasi Windows. Beberapa API baru ditambahkan ke daftar API yang Didukung di Kit Sertifikasi Aplikasi dan Windows Store. Jika ada API dalam daftar yang didukung yang tampak berwarna abu-abu atau dinonaktifkan di Visual Studio, Anda dapat membuat perubahan kecil pada file sumber Anda, untuk mengaksesnya. Untuk detail selengkapnya, lihat masalah diketahui ini. Temukan lebih banyak pembaruan untuk pengujian.

  • Pembaruan Pengkompilasi Pesan (mc.exe):

    • Sekarang mendeteksi tanda urutan byte Unicode (BOM) dalam file .mc. Jika file .mc dimulai dengan UTF-8 BOM, file tersebut akan dibaca sebagai file UTF-8. Jika tidak, jika dimulai dengan BOM UTF-16LE, itu akan dibaca sebagai file UTF-16LE. Jika parameter -u ditentukan, parameter tersebut akan dibaca sebagai file UTF-16LE. Jika tidak, itu akan dibaca menggunakan halaman kode saat ini (CP_ACP).
    • Sekarang menghindari masalah aturan satu definisi (ODR) dalam pembantu C/C++ ETW yang dihasilkan MC yang disebabkan oleh makro konfigurasi yang bertentangan (misalnya ketika dua file .cpp dengan definisi MCGEN_EVENTWRITETRANSFER yang bertentangan ditautkan ke dalam biner yang sama, pembantu ETW yang dihasilkan MC sekarang akan menghormati definisi MCGEN_EVENTWRITETRANSFER dalam setiap file .cpp alih-alih memilih satu atau yang lain secara sewenang-wenang).
  • Pembaruan Windows Trace Preprocessor (tracewpp.exe):

    • Mendukung file input Unicode (.ini, .tpl, dan kode sumber). File input yang dimulai dengan tanda urutan byte (BOM) UTF-8 atau UTF-16 akan dibaca sebagai Unicode. File input yang tidak dimulai dengan BOM akan dibaca menggunakan halaman kode saat ini (CP_ACP). Untuk kompatibilitas mundur, jika parameter baris perintah -UnicodeIgnore ditentukan, file yang dimulai dengan UTF-16 BOM akan diperlakukan kosong.
    • Mendukung file output Unicode (.tmh). Secara default, file output akan dikodekan menggunakan halaman kode saat ini (CP_ACP). Gunakan parameter baris perintah -cp:UTF-8 atau -cp:UTF-16 untuk menghasilkan file output Unicode.
    • Perubahan perilaku: tracewpp sekarang mengonversi semua teks input ke Unicode, melakukan pemrosesan di Unicode, dan mengonversi teks output ke pengodean output yang ditentukan. Versi tracewpp sebelumnya menghindari konversi Unicode dan melakukan pemrosesan teks dengan asumsi set karakter byte tunggal. Ini dapat menyebabkan perubahan perilaku dalam kasus di mana file input tidak sesuai dengan halaman kode saat ini. Dalam kasus di mana ini adalah masalah, pertimbangkan untuk mengonversi file input ke UTF-8 (dengan BOM) dan/atau menggunakan parameter baris perintah -cp:UTF-8 untuk menghindari ambiguitas pengodean.
  • Pembaruan TraceLoggingProvider.h:

    • Menghindari masalah satu aturan definisi (ODR) yang disebabkan oleh makro konfigurasi yang bertentangan (misalnya ketika dua file .cpp dengan definisi TLG_EVENT_WRITE_TRANSFER yang bertentangan ditautkan ke dalam biner yang sama, pembantu TraceLoggingProvider.h sekarang akan menghormati definisi TLG_EVENT_WRITE_TRANSFER di setiap file .cpp alih-alih memilih satu atau yang lain secara semena-mena).
    • Dalam kode C++, makro TraceLoggingWrite telah diperbarui untuk memungkinkan berbagi kode yang lebih baik antara peristiwa serupa menggunakan templat variadik.
  • Menandatangani aplikasi Anda. Penandatanganan Device Guard adalah fitur Device Guard yang tersedia di Microsoft Store for Business and Education, yang memungkinkan perusahaan untuk menjamin setiap aplikasi berasal dari sumber tepercaya. Lihat dokumentasi tentangPenandatanganan Device Guard .

  • Header SDK telah diperbarui untuk mengatasi kesalahan saat mengompilasi menggunakan preprosedor C sesuai standar di cl.exe kompilator MSVC (/Zc:preprocessor, yang diperkenalkan dalam VS 2019 v16.6).

  • Diperbaiki: "GdiplusTypes.h tidak dikompilasi dengan NOMINMAX". LihatUmpan Balik Visual Studio .

  • Saat membangun dengan /std:c11 atau /std:c17, Anda sekarang mendapatkan:

    • C99 tgmath.h
    • C11 static_assert dalam assert.h
    • C11 stdalign.h
    • C11 stdnoreturn.h
  • Clang/LLVM untuk Windows v11 yang menargetkan ARM64 tidak kompatibel dengan winnt.h terbaru

    • Sebagai solusinya, gunakan versi Windows 10 SDK sebelumnya (build 19041), atau clang/LLVM untuk Windows v10 saat menargetkan platform ARM64
  • DirectXMath (termasuk versi 3.16 dalam rilis ini) tidak kompatibel dengan Clang/LLVM untuk Windows di ARM64.

  • Kasus beberapa file header diubah, untuk menormalkannya untuk sistem file peka huruf besar/kecil:

    • OAIdl.h, ObjIdl.h, ObjIdlbase.h, OCIdl.h, Ole2.h, OleAuto.h, dan OleCtl.h semuanya dibuat huruf kecil.
    • Untuk build Clang/LLVM untuk Windows, untuk mendukung versi lama dan Windows 10 SDK terbaru tanpa peringatan, tambahkan -Wno-nonportable-system-include-path ke CLI, atau #pragma berikut di sumber:

    #ifdef __clang__

    #pragma clang diagnostic ignored "-Wnonportable-system-include-path"

    #endif

Pembaruan layanan Windows 10 SDK, Versi 2004 (dirilis 16/12/2020)

Rilis ini berisi file berikut. Jika Anda mengalami masalah ini, kami sarankan Anda memperbarui versi SDK sesegera mungkin untuk menghindarinya:

  • Mengatasi crash yang tidak dapat diprediksi dan sulit didiagnosis saat menautkan pustaka payung dan pustaka OS asli (misalnya, onecoreuap.lib dan kernel32.lib)
  • Mengatasi masalah yang mencegah AppVerifier berfungsi
  • Mengatasi masalah yang menyebabkan WACK gagal dengan "Tugas gagal mengaktifkan HighVersionLie"

Sumber daya lainnya

  • Unduhan dan alat

    Dapatkan alat pengembangan Visual Studio dan Windows 10 edisi terbaru.

  • Arsip SDK

    Temukan rilis SDK Jendela sebelumnya dan alat lainnya.

  • Blog Windows

    Tetap terhubung dengan penerbangan SDK terbaru dengan berlangganan blog kami.