Windows SDK’sı

Windows 11 için Windows SDK (10.0.22621), Windows uygulamaları oluşturmaya yönelik en son üst bilgileri, kitaplıkları, meta verileri ve araçları sağlar. Windows 11, sürüm 23H2 ve önceki Windows sürümleri için Evrensel Windows Platformu (UWP) ve Win32 uygulamaları oluşturmak için bu SDK'yı kullanın.

İpucu

Windows Uygulama SDK’sı
Windows Uygulama SDK'sı, işletim sisteminden ayrılmış ve NuGet paketleri aracılığıyla geliştiricilere sunulan birleşik bir API'ler ve araçlar kümesi sağlar. Bu API'ler ve araçlar, Windows 11 ve Windows 10, sürüm 1809 için alt düzey üzerindeki herhangi bir masaüstü uygulaması tarafından tutarlı bir şekilde kullanılabilir.

Başlarken

Windows SDK iki şekilde alabilirsiniz: indirme bağlantısını seçerek veya Visual Studio 2022 Yükleyicisi'nin isteğe bağlı bileşenlerinde "Windows 11 SDK (10.0.22621.0)" öğesini seçerek bu sayfadan yükleyin. Bu SDK'yi yüklemeden önce:

Son güncelleştirme: Şubat 2024

Sistem Gereksinimleri

Windows SDK aşağıdaki en düşük sistem gereksinimlerine sahiptir:

Desteklenen işletim sistemleri

  • Windows 10 sürüm 1507 veya üzeri: Home, Professional, Education ve Enterprise (LTSB ve S UWP için desteklenmez)
  • Windows Server 2022, Windows Server 2019, Windows Server 2016 ve Windows Server 2012 R2 (Yalnızca komut satırı)
  • Windows 8.1
  • Windows 7 SP1

(Önceki işletim sistemlerinde tüm araçlar desteklenmez)

Donanım gereksinimleri

  • 1,6 GHz veya daha hızlı işlemci
  • 1 GB RAM
  • 4 GB kullanılabilir sabit disk alanı

Ek SDK gereksinimleri

Windows 8.1 ve önceki işletim sistemlerine yükleme için Windows'ta Evrensel C Çalışma Zamanı Güncelleştirmesi gerekir. Windows Update aracılığıyla yüklemek için, Windows SDK yüklemeden önce Microsoft Update'ten önerilen en son güncelleştirmeleri ve düzeltme eklerini yüklediğinizden emin olun.

Örnekler

Windows uygulama örnekleri artık GitHub üzerinden kullanılabilir. GitHub'daki koda göz atabilir, Git'ten deponun kişisel bir kopyasını kopyalayabilir veya tüm örneklerin sıkıştırılmış arşivini indirebilirsiniz . Geri bildirim almaktan memnuniyet duyuyoruz, bu nedenle bir sorununuz veya sorunuz varsa depo içinde bir sorun açmaktan çekinmeyin. Bu örnekler, Evrensel Windows Platformu (UWP) destekleyen masaüstü, mobil ve gelecekteki cihazlarda çalışacak şekilde tasarlanmıştır.

Önceki SDK sürümleri

Güncelleştirme ayrıntıları da dahil olmak üzere daha önce yayımlanan SDK'lar ve öykünücüler arşiv sayfasında bulunabilir.

API Light Up

Yeni API'leri kullanırken uygulamanızı uyarlamalı olacak şekilde yazmayı göz önünde bulundurun; böylece en geniş Windows cihaz dizisinde düzgün çalışır. Uyarlamalı bir uygulama, cihazların ve Windows sürümünün desteklediği her yerde yeni özelliklerle "yanar", ancak aksi takdirde yalnızca algılanan platform sürümünde kullanılabilir işlevselliği sunar. Uygulama ayrıntıları için Sürüm uyarlamalı kod makalesine bakın.

Sürüm notları ve bilinen sorunlar

Windows 11, Derleme 10.0.22621.3235 (29.02.2024'te yayımlandı)

Bakım güncelleştirmesi 10.0.22621.3235.

Windows 11, Derleme 10.0.22621.2428 (24.10.2023'te yayımlandı)

Bakım güncelleştirmesi 10.0.22621.2428.

Windows 11, Sürüm 22H2, Derleme 10.0.22621.1778

Güncelleştirme 10.0.22621.1778. Vurgulanan özellikler şunlardır:

  • WindowTabManager API'leri, sekmeli arabirimlere sahip uygulamaların Windows kabuğuna açık sekmeler hakkında bilgi sağlamasına olanak tanır.
  • Kullanım kolaylığını geliştirmek ve insan varlığı özelliklerini destekleyen algılayıcılar için yeni ayarlar eklemek için humanPresence API'lerine Güncelleştirmeler.
  • RemoteDesktop API'leri, uygulamaların uzak ve yerel masaüstü arasında geçiş yapmasına olanak tanır.
Windows 11, sürüm 22H2 için Windows SDK
  • Bakım güncelleştirmesi 10.0.22621.755. VS 17.4 sürümü için ARM64 desteği içerir
Windows 10 SDK, Sürüm 2104
  • api-ms-win-net-isolation-l1-1-0.lib kaldırıldı. api-ms-win-net-isolation-l1-1-0.lib ile bağlantı oluşturan uygulamalar, yerine OneCoreUAP.lib olarak geçiş yapamaz.

  • irprops.lib kaldırıldı. irprops.lib'e karşı bağlanan uygulamalar, açılan bir değiştirme olarak bthprops.lib'e geçebilir.

  • ENUM tagServerSelection wuapicommon.h dosyasından wupai.h dosyasına taşındı ve üst bilgi kaldırıldı. ENUM etiketiniServerSelection kullanmak isterseniz wuapi.h veya wuapi.idl eklemeniz gerekir.

  • Windows 10 WinRT API Paketi, .NET Framework 4.5+ ve .NET Core 3.0+ kitaplıklarınıza ve uygulamalarınıza en son Windows Çalışma Zamanı API desteğini eklemenize olanak tanır. Windows 10 WinRT API Paketi'ne erişmek için bkz. Microsoft.Windows.SDK.Contracts nuget paketi.

  • Printf işlev ailesi artık tam olarak temsil edilebilir kayan noktalı sayıları yazdırırken IEEE 754 yuvarlama kurallarına uygundur ve fesetround çağrıları aracılığıyla istenen yuvarlama moduna uyar. Eski davranış, legacy_stdio_float_rounding.obj ile bağlantı oluşturulurken kullanılabilir.

  • Windows Uygulama Sertifikasyon Seti. Uygulama Sertifikasyon Seti ve Windows Mağazası'ndaki Desteklenen API'ler listesine birkaç yeni API eklendi. Desteklenen listede Visual Studio'da gri veya devre dışı görünen API'ler varsa, bunlara erişmek için kaynak dosyanızda küçük bir değişiklik yapabilirsiniz. Diğer ayrıntılar için bu bilinen soruna bakın. Testler için daha fazla güncelleştirme bulun.

  • İleti Derleyicisi (mc.exe) güncelleştirmeleri:

    • Artık .mc dosyalarındaki Unicode bayt sırası işaretini (BOM) algılar. .mc dosyası utf-8 bom ile başlarsa, utf-8 dosyası olarak okunur. Aksi takdirde, UTF-16LE BOM ile başlarsa UTF-16LE dosyası olarak okunur. -u parametresi belirtildiyse, UTF-16LE dosyası olarak okunur. Aksi takdirde, geçerli kod sayfası (CP_ACP) kullanılarak okunur.
    • Çakışan yapılandırma makrolarının neden olduğu MC tarafından oluşturulan C/C++ ETW yardımcılarında artık tek tanım kuralı (ODR) sorunlarından kaçınmaktadır (örneğin, çakışan MCGEN_EVENTWRITETRANSFER tanımlarına sahip iki .cpp dosyası aynı ikili dosyaya bağlandığında, MC tarafından oluşturulan ETW yardımcıları artık rastgele bir şekilde birini seçmek yerine her .cpp dosyasındaki MCGEN_EVENTWRITETRANSFER tanımına saygı gösterecektir.
  • Windows trace Önişlemci (tracewpp.exe) güncelleştirmeleri:

    • Unicode giriş (.ini, .tpl ve kaynak kodu) dosyalarını destekler. UTF-8 veya UTF-16 bayt sipariş işaretiyle (BOM) başlayan giriş dosyaları Unicode olarak okunur. Ürün reçetesiyle başlamayan giriş dosyaları geçerli kod sayfası (CP_ACP) kullanılarak okunur. Geriye dönük uyumluluk için -UnicodeIgnore komut satırı parametresi belirtilirse UTF-16 BOM ile başlayan dosyalar boş olarak değerlendirilir.
    • Unicode çıkış (.tmh) dosyalarını destekler. Varsayılan olarak, çıkış dosyaları geçerli kod sayfası (CP_ACP) kullanılarak kodlanır. Unicode çıkış dosyaları oluşturmak için -cp:UTF-8 veya -cp:UTF-16 komut satırı parametrelerini kullanın.
    • Davranış değişikliği: tracewpp artık tüm giriş metnini Unicode'a dönüştürür, Unicode'da işleme gerçekleştirir ve çıkış metnini belirtilen çıkış kodlamasına dönüştürür. Tracewpp'nin önceki sürümleri Unicode dönüştürmelerinden kaçındı ve tek baytlık bir karakter kümesi varsayılarak metin işleme gerçekleştirdi. Bu, giriş dosyalarının geçerli kod sayfasına uymadığı durumlarda davranış değişikliklerine yol açabilir. Bunun bir sorun olduğu durumlarda, kodlama belirsizliğini önlemek için giriş dosyalarını UTF-8'e (BOM ile) dönüştürmeyi ve/veya -cp:UTF-8 komut satırı parametresini kullanmayı göz önünde bulundurun.
  • TraceLoggingProvider.h güncelleştirmeleri:

    • Çakışan yapılandırma makrolarının neden olduğu tek tanım kuralı (ODR) sorunlarını önler (örneğin, çakışan TLG_EVENT_WRITE_TRANSFER tanımlarına sahip iki .cpp dosyası aynı ikili dosyaya bağlandığında, TraceLoggingProvider.h yardımcıları artık rastgele birini veya diğerini seçmek yerine her .cpp dosyasındaki TLG_EVENT_WRITE_TRANSFER tanımını dikkate alır.
    • C++ kodunda TraceLoggingWrite makrosunda, variadic şablonları kullanılarak benzer olaylar arasında daha iyi kod paylaşımını sağlayacak şekilde güncelleştirilmiştir.
  • Uygulamalarınızı imzalama. Device Guard imzalama, kuruluşların her uygulamanın güvenilir bir kaynaktan geldiğini garanti etmesini sağlayan İş İçin Microsoft Store ve Eğitim'de kullanılabilen bir Device Guard özelliğidir. Device Guard İmzalama hakkındaki belgelere bakın.

  • SDK üst bilgileri, MSVC derleyici cl.exe (/Zc:önişlemci, VS 2019 v16.6'da tanıtılan) standart uyumlu C ön işlemcisi kullanılarak derlenirken oluşan hataları gidermek için güncelleştirildi.

  • Düzeltildi: "GdiplusTypes.h NOMINMAX ile derlenmiyor". Bkz. Visual Studio Geri Bildirimi.

  • /std:c11 veya /std:c17 ile derleme yaparken şunları elde edersiniz:

    • C99 tgmath.h
    • assert.h dosyasında C11 static_assert
    • C11 stdalign.h
    • C11 stdnoreturn.h
  • ARM64'ü hedefleyen Windows v11 için Clang/LLVM, en son winnt.h ile uyumlu değil

    • Geçici çözüm olarak ARM64 platformlarını hedeflerken Windows 10 SDK'sının önceki sürümünü (derleme 19041) veya Windows v10 için clang/LLVM'yi kullanın
  • DirectXMath (bu sürümdeki sürüm 3.16 dahil) ARM64 üzerinde Windows için Clang/LLVM ile uyumlu değildir.

  • Bazı üst bilgi dosyalarını büyük/küçük harfe duyarlı dosya sistemleri için normalleştirmek üzere değiştirildi:

    • OAIdl.h, ObjIdl.h, ObjIdlbase.h, OCIdl.h, Ole2.h, OleAuto.h ve OleCtl.h küçük harfle yapılmıştır.
    • Windows için Clang/LLVM derlemelerinde, uyarı olmadan hem eski sürümü hem de en son Windows 10 SDK'yı desteklemek için CLI'ya veya kaynakta aşağıdaki #pragma ekleyin-Wno-nonportable-system-include-path:

    #ifdef __clang__

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

    #endif

Windows 10 SDK, Sürüm 2004 bakım güncelleştirmesi (16.12.2020'de yayımlandı)

Bu sürüm aşağıdaki dosyaları içerir. Bu sorunlarla karşılaşırsanız, bunlardan kaçınmak için SDK sürümünüzü en kısa sürede güncelleştirmenizi öneririz:

  • Hem şemsiye kitaplıkları hem de yerel işletim sistemi kitaplıklarını (örneğin, onecoreuap.lib ve kernel32.lib) bağlarken öngörülemeyen ve tanılaması zor kilitlenmeler düzeltildi
  • AppVerifier'ın çalışmasını engelleyen sorun çözüldü
  • WACK'nin "Görev HighVersionLie'yi etkinleştiremedi" hatasıyla başarısız olmasına neden olan sorun çözüldü

Diğer kaynaklar