Windows SDK

Sada Windows SDK (10.0.26100) pro Windows 11 poskytuje nejnovější hlavičky, knihovny, metadata a nástroje pro vytváření aplikací pro Windows. Pomocí této sady SDK můžete vytvářet aplikace pro Univerzální platformu Windows (UPW) a Win32 pro Windows 11 verze 24H2 a předchozí verze Windows.

Spropitné

sady Windows App SDK
Sada Windows App SDK poskytuje jednotnou sadu rozhraní API a nástrojů, které jsou oddělené od operačního systému a vydané vývojářům prostřednictvím balíčků NuGet. Tato rozhraní API a nástroje je možné používat konzistentně všemi desktopovými aplikacemi ve Windows 11 a nižší úrovní až po Windows 10 verze 1809.

Začínáme

Sadu Windows SDK můžete získat dvěma způsoby: nainstalujte ji z této stránky tak, že vyberete odkaz ke stažení nebo vyberete "Windows 11 SDK (10.0.26100.0)" v volitelných součástech instalačního programu sady Visual Studio 2022. Před instalací této sady SDK:

Poslední aktualizace: září 2024

Požadavky na systém

Sada Windows SDK má následující minimální požadavky na systém:

Podporované operační systémy

  • Windows 11 verze 21h2 nebo novější: Home, Pro, Education a Enterprise (LTSC se nepodporuje pro UPW)
  • Windows 10 verze 1507 nebo novější: Home, Pro, Education a Enterprise (režim LTSB/LTSC a S se nepodporují pro UPW)
  • Windows Server 2022, Windows Server 2019, Windows Server 2016 a Windows Server 2012 R2 (jenom příkazový řádek)
  • Windows 8.1
  • Windows 7 SP1

(V dřívějších operačních systémech nejsou podporované všechny nástroje)

Požadavky na hardware

  • Procesor 1,6 GHz nebo rychlejší
  • 1 GB paměti RAM
  • 4 GB volného místa na pevném disku

Další požadavky sady SDK

Instalace na Windows 8.1 a starších operačních systémech vyžaduje aktualizaci pro Universal C Runtime ve Windows. Pokud chcete nainstalovat prostřednictvím služby Windows Update, před instalací sady Windows SDK se ujistěte, že nainstalujete nejnovější doporučené aktualizace a opravy ze služby Microsoft Update.

Vzorky

Ukázky aplikací pro Windows jsou teď dostupné prostřednictvím GitHubu. Kód můžete procházet na GitHubu, naklonovat osobní kopii úložiště z Gitu nebo stáhnout komprimovaný archiv všech ukázek. Vítáme zpětnou vazbu, takže pokud máte problém nebo otázku, můžete problém otevřít v úložišti. Tyto ukázky jsou navržené tak, aby běžely na stolních, mobilních a budoucích zařízeních, která podporují univerzální platformu Windows (UPW).

Předchozí verze sady SDK

Dříve vydané sady SDK a emulátory, včetně podrobností o aktualizaci, najdete na stránce archivu .

Rozsvícení rozhraní API

Když používáte nová rozhraní API, zvažte, jestli chcete, aby byla aplikace adaptivní, aby běžela správně na široké škále zařízení s Windows. Adaptivní aplikace se rozsvítí s novými funkcemi všude, kde je zařízení a verze Windows podporují, ale v opačném případě nabízí jenom funkce dostupné ve zjištěné verzi platformy. Podrobnosti o implementaci najdete v článkus adaptivním kódem verze .

Poznámky k verzi a známé problémy

Windows 11, build 10.0.26100.1742 (vydáno 24. 9. 2024)

Verze odpovídající veřejné verzi Windows 11 verze 24h2.

Windows 11, build 10.0.26100 (vydáno 22. 5. 2024)

Počáteční verze řady 10.0.26100, která odpovídá Windows 11 verze 24h2 Preview.

Windows 11, build 10.0.22621.3235 (vydáno 29. 2. 2024)

Servisní aktualizace 10.0.22621.3235

Windows 11, build 10.0.22621.2428 (vydáno 24. 10. 2023)

Servisní aktualizace 10.0.22621.2428.

Windows 11 verze 22H2, build 10.0.22621.1778

Aktualizace 10.0.22621.1778 Mezi zvýrazněné funkce patří:

  • Rozhraní API WindowTabManager umožňují aplikacím s rozhraními s kartami poskytovat informace na otevřených kartách prostředí Windows.
  • Aktualizace rozhraní HUMANPresence API za účelem zlepšení snadného použití a přidání nových nastavení pro senzory, které podporují schopnosti lidské přítomnosti.
  • Rozhraní API RemoteDesktop umožňují aplikacím přepínat mezi vzdálenou a místní plochou.
Windows SDK pro Windows 11 verze 22H2
  • Servisní aktualizace 10.0.22621.755. Zahrnuje podporu ARM64 pro verzi VS 17.4.
Windows 10 SDK verze 2104
  • Odebrání api-ms-win-net-isolation-l1-1-0.lib. Aplikace, které se propojovaly s rozhraním api-ms-win-net-isolation-l1-1-0.lib, můžou jako náhradu přepnout na OneCoreUAP.lib.

  • Odebrané irprops.lib. Aplikace, které byly propojovány s irprops.lib, se můžou přepnout na bthprops.lib jako nahrazení v rozevíracím seznamu.

  • Přesunuli jsme enUM tagServerSelection z wuapicommon.h do wupai.h a odebrali záhlaví. Pokud chcete použít enUM tagServerSelection, budete muset zahrnout wuapi.h nebo wuapi.idl.

  • Sada rozhraní API Pro Windows 10 WinRT umožňuje přidat nejnovější podporu rozhraní API prostředí Windows Runtime do knihoven a aplikací .NET Framework 4.5+ a .NET Core 3.0+. Pokud chcete získat přístup k sadě Windows 10 WinRT API Pack, přečtěte si balíčku NuGet Microsoft.Windows.SDK.Contracts.

  • Řada funkcí printf nyní odpovídá pravidlům zaokrouhlování IEEE 754 při tisku přesně reprezentovatelných čísel s plovoucí desetinnou čárkou a bude respektovat režim zaokrouhlování požadovaný prostřednictvím volání fesetround. Starší verze chování je k dispozici při propojení s legacy_stdio_float_rounding.obj.

  • Windows App Certification Kit. Do seznamu Podporovaných rozhraní API v sadě App Certification Kit a Windows Store bylo přidáno několik nových rozhraní API. Pokud jsou v seznamu podporovaných rozhraní API zobrazená šedě nebo zakázána v sadě Visual Studio, můžete provést malou změnu zdrojového souboru, abyste k nim měli přístup. Další podrobnosti najdete v tomto známém problému. Najít další aktualizace testů.

  • Aktualizace kompilátoru zpráv (mc.exe):

    • Teď v souborech .mc rozpozná značku pořadí bajtů Unicode (BOM). Pokud soubor .mc začíná UTF-8 BOM, bude přečteno jako soubor UTF-8. V opačném případě, pokud začíná UTF-16LE BOM, bude přečteno jako soubor UTF-16LE. Pokud byl zadán parametr -u, přečte se jako soubor UTF-16LE. Jinak se přečte pomocí aktuální znakové stránky (CP_ACP).
    • Teď se vyhne problémům s jedním pravidlem definice (ODR) v pomocných rutinách C/C++ pro Windows generovaných pomocí C/C++ způsobených konfliktním konfiguračním makrem (např. když jsou dva .cpp soubory s konfliktními definicemi MCGEN_EVENTWRITETRANSFER propojeny se stejným binárním souborem, budou pomocní rutiny pro Windows generované mcem respektovat definici MCGEN_EVENTWRITETRANSFER v každém souboru .cpp místo toho, aby si vybrali jeden nebo druhý).
  • Aktualizace preprocesoru trasování systému Windows (tracewpp.exe):

    • Podporuje vstupní soubory Unicode (.ini, .tpl a zdrojový kód). Vstupní soubory začínající značkou pořadí bajtů UTF-8 nebo UTF-16 se čtou jako Unicode. Vstupní soubory, které nezačínaly kusovníkem, se načtou pomocí aktuální znakové stránky (CP_ACP). Pokud je zadán parametr příkazového řádku -UnicodeIgnore, budou soubory začínající sadou UTF-16 BOM považovány za prázdné.
    • Podporuje výstupní soubory Unicode (.tmh). Ve výchozím nastavení budou výstupní soubory kódovány pomocí aktuální znakové stránky (CP_ACP). K vygenerování výstupních souborů Unicode použijte parametry příkazového řádku -cp:UTF-8 nebo -cp:UTF-16.
    • Změna chování: tracewpp teď převede veškerý vstupní text na Unicode, provede zpracování v kódování Unicode a převede výstupní text na zadané kódování výstupu. Starší verze tracewpp se vyhnuly převodům Unicode a prováděly zpracování textu za předpokladu, že je znaková sada s jedním bajtem. To může vést ke změnám chování v případech, kdy vstupní soubory neodpovídají aktuální znakové stránce. V případech, kdy se jedná o problém, zvažte převod vstupních souborů na UTF-8 (s BOM) a/nebo pomocí parametru příkazového řádku -cp:UTF-8, abyste se vyhnuli nejednoznačnosti kódování.
  • Aktualizace TraceLoggingProvider.h:

    • Vyhne se problémům s pravidlem jedné definice (ODR) způsobeným konfliktním konfiguračním makrem (např. když jsou dva soubory .cpp s konfliktními definicemi TLG_EVENT_WRITE_TRANSFER propojeny do stejného binárního souboru, pomocné rutiny TraceLoggingProvider.h teď budou respektovat definici TLG_EVENT_WRITE_TRANSFER v každém souboru .cpp místo toho, aby vybrali jeden nebo druhý).
    • V kódu C++ bylo makro TraceLoggingWrite aktualizováno, aby bylo možné zlepšit sdílení kódu mezi podobnými událostmi pomocí variadic šablon.
  • Podepisování aplikací Podepisování device Guard je funkce Device Guard, která je dostupná v Microsoft Storu pro firmy a vzdělávání, která podnikům umožňuje zaručit, že každá aplikace pochází z důvěryhodného zdroje. Přečtěte si dokumentaci odevice Guard Signing .

  • Hlavičky sady SDK byly aktualizovány tak, aby řešily chyby při kompilaci pomocí preprocesoru standard-conformant C v kompilátoru MSVC cl.exe (/Zc:preprocessor, představený ve VS 2019 v16.6).

  • Opraveno: "GdiplusTypes.h se nekompiluje s NOMINMAX". Vizzpětné vazby sady Visual Studio .

  • Při sestavování pomocí /std:c11 nebo /std:c17 teď získáte:

    • C99 tgmath.h
    • C11 static_assert v assert.h
    • C11 stdalign.h
    • C11 stdnoreturn.h
  • Clang/LLVM pro Windows v11, které cílí na ARM64, není kompatibilní s nejnovějším winnt.h

    • Jako alternativní řešení použijte předchozí verzi sady Windows 10 SDK (build 19041) nebo clang/LLVM pro Windows v10 při cílení na platformy ARM64.
  • DirectXMath (včetně verze 3.16 v této verzi) není kompatibilní s Clang/LLVM pro Windows v ARM64.

  • U některých souborů hlaviček došlo ke změně velikosti písmen, aby se normalizovaly pro systémy souborů s rozlišováním malých a malých písmen:

    • OAIdl.h, ObjIdl.h, ObjIdlbase.h, OCIdl.h, Ole2.h, OleAuto.h a OleCtl.h byly provedeny v malých písmenech.
    • Pro sestavení Clang/LLVM pro Windows pro podporu starší verze i nejnovější sady Windows 10 SDK bez upozornění přidejte -Wno-nonportable-system-include-path do rozhraní příkazového řádku nebo následující #pragma ve zdroji:

    #ifdef __clang__

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

    #endif

Windows 10 SDK, servisní aktualizace verze 2004 (vydaná 12. 16. 2020)

Tato verze obsahuje následující soubory. Pokud narazíte na tyto problémy, doporučujeme, abyste co nejdříve aktualizovali svou verzi sady SDK, abyste se jim vyhnuli:

  • Vyřešili jsme nepředvídatelné a obtížné diagnostikovat chybové ukončení při propojování jak zastřešujících knihoven, tak nativních knihoven operačního systému (například onecoreuap.lib a kernel32.lib).
  • Vyřešený problém, který znemožnil fungování AppVerifieru
  • Vyřešený problém, který způsoboval selhání WACK s chybou "Úloha se nepovedlo povolit HighVersionLie"

Další zdroje informací