Windows-SDK

De Windows SDK (10.0.22621) voor Windows 11 biedt de meest recente headers, bibliotheken, metagegevens en hulpprogramma's voor het bouwen van Windows-toepassingen. Gebruik deze SDK om Universeel Windows-platform- (UWP) en Win32-toepassingen te bouwen voor Windows 11, versie 23H2 en eerdere Windows-versies.

Tip

Windows App SDK
De Windows-app SDK biedt een uniforme set API's en hulpprogramma's die zijn losgekoppeld van het besturingssysteem en worden vrijgegeven voor ontwikkelaars via NuGet-pakketten. Deze API's en hulpprogramma's kunnen op een consistente manier worden gebruikt door elke bureaublad-app op Windows 11 en downlevel om te Windows 10 versie 1809.

Aan de slag

U kunt de Windows SDK op twee manieren verkrijgen: installeer deze op deze pagina door de downloadkoppeling te selecteren of door 'Windows 11 SDK (10.0.22621.0)' te selecteren in de optionele onderdelen van het installatieprogramma van Visual Studio 2022. Voordat u deze SDK installeert:

Laatst bijgewerkt: februari 2024

Systeemvereisten

De Windows SDK heeft de volgende minimale systeemvereisten:

Ondersteunde besturingssystemen

  • Windows 10 versie 1507 of hoger: Home, Professional, Education en Enterprise (LTSB en S worden niet ondersteund voor UWP)
  • Windows Server 2022, Windows Server 2019, Windows Server 2016 en Windows Server 2012 R2 (alleen opdrachtregel)
  • Windows 8.1
  • Windows 7 SP1

(Niet alle hulpprogramma's worden ondersteund op eerdere besturingssystemen)

Hardwarevereisten

  • 1,6 GHz of snellere processor
  • 1 GB RAM-geheugen
  • 4 GB beschikbare ruimte op de harde schijf

Aanvullende SDK-vereisten

Voor installatie op Windows 8.1 en oudere besturingssystemen is een update voor Universal C Runtime in Windows vereist. Als u wilt installeren via Windows Update, moet u de meest recente aanbevolen updates en patches van Microsoft Update installeren voordat u de Windows SDK installeert.

Voorbeelden

Voorbeelden van Windows-apps zijn nu beschikbaar via GitHub. U kunt door de code op GitHub bladeren, een persoonlijke kopie van de opslagplaats klonen vanuit Git of een gezipt archief van alle voorbeelden downloaden . We ontvangen graag feedback, dus open gerust een probleem in de opslagplaats als u een probleem of vraag hebt. Deze voorbeelden zijn ontworpen om te worden uitgevoerd op desktop-, mobiele en toekomstige apparaten die ondersteuning bieden voor de Universeel Windows-platform (UWP).

Vorige SDK-versies

Eerder uitgebrachte SDK's en emulators, inclusief updategegevens, vindt u op de archiefpagina.

API-oplichting

Wanneer u nieuwe API's gebruikt, kunt u overwegen om uw app adaptief te schrijven, zodat deze correct wordt uitgevoerd op de breedste reeks Windows-apparaten. Een adaptieve app 'licht op' met nieuwe functies waar de apparaten en Windows-versie deze ondersteunen, maar biedt verder alleen de functionaliteit die beschikbaar is op de gedetecteerde platformversie. Zie het artikel Versie adaptieve code voor informatie over de implementatie.

Opmerkingen bij de release en bekende problemen

Windows 11, build 10.0.22621.3235 (uitgebracht op 29-2-2024)

Onderhoudsupdate 10.0.22621.3235.

Windows 11, build 10.0.22621.2428 (uitgebracht op 24-10-2023)

Onderhoudsupdate 10.0.22621.2428.

Windows 11, versie 22H2, build 10.0.22621.1778

Update 10.0.22621.1778. Gemarkeerde functies zijn onder andere:

  • Met WindowTabManager-API's kunnen toepassingen met interfaces op tabbladen informatie verstrekken over geopende tabbladen naar de Windows-shell.
  • Updates aan HumanPresence-API's om het gebruiksgemak te verbeteren en nieuwe instellingen toe te voegen voor sensoren die ondersteuning bieden voor menselijke aanwezigheidsmogelijkheden.
  • Met RemoteDesktop-API's kunnen toepassingen schakelen tussen een extern en lokaal bureaublad.
Windows SDK voor Windows 11 versie 22H2
  • Onderhoudsupdate 10.0.22621.755. Bevat ARM64-ondersteuning voor de VS 17.4-release
Windows 10 SDK, versie 2104
  • Api-ms-win-net-isolation-l1-1-0.lib is verwijderd. Apps die zijn gekoppeld aan api-ms-win-net-isolation-l1-1-0.lib, kunnen overschakelen naar OneCoreUAP.lib als vervanging.

  • Irprops.lib is verwijderd. Apps die zijn gekoppeld aan irprops.lib, kunnen overschakelen naar bthprops.lib als een drop-in vervanging.

  • Enum tagServerSelection is verplaatst van wuapicommon.h naar wupai.h en de header is verwijderd. Als u de ENUM tagServerSelection wilt gebruiken, moet u wuapi.h of wuapi.idl opnemen.

  • Met het Windows 10 WinRT API Pack kunt u de nieuwste ondersteuning voor Windows Runtime API's toevoegen aan uw .NET Framework 4.5+ en .NET Core 3.0+-bibliotheken en -apps. Zie het nuget-pakket Microsoft.Windows.SDK.Contracts voor toegang tot het Windows 10 WinRT API-pakket.

  • De printf-functiesfamilie voldoet nu aan de IEEE 754-afrondingsregels bij het afdrukken van exact vertegenwoordigbare drijvendekommanummers en voldoet aan de afrondingsmodus die is aangevraagd via aanroepen van fesetround. Verouderd gedrag is beschikbaar bij het koppelen met legacy_stdio_float_rounding.obj.

  • Windows App Certification Kit. Er zijn verschillende nieuwe API's toegevoegd aan de lijst met ondersteunde API's in de App Certification Kit en Windows Store. Als er API's in de ondersteunde lijst staan die grijs worden weergegeven of uitgeschakeld in Visual Studio, kunt u een kleine wijziging aanbrengen in het bronbestand om ze te openen. Zie dit bekende probleem voor meer informatie. Meer updates voor tests zoeken.

  • Updates voor berichtcomppilatie (mc.exe):

    • Detecteert nu de Unicode-byteordermarkering (BOM) in MC-bestanden. Als het .mc-bestand begint met een UTF-8 BOM, wordt het gelezen als een UTF-8-bestand. Als het anders begint met een UTF-16LE BOM, wordt deze gelezen als een UTF-16LE-bestand. Als de parameter -u is opgegeven, wordt deze gelezen als een UTF-16LE-bestand. Anders wordt deze gelezen met behulp van de huidige codepagina (CP_ACP).
    • Voorkomt nu one-definition-rule (ODR) problemen in DOOR MC gegenereerde C/C++ ETW-helpers die worden veroorzaakt door conflicterende configuratiemacro's (bijvoorbeeld wanneer twee .cpp bestanden met conflicterende definities van MCGEN_EVENTWRITETRANSFER zijn gekoppeld aan hetzelfde binaire binaire bestand, respecteren de DOOR MC gegenereerde ETW-helpers nu de definitie van MCGEN_EVENTWRITETRANSFER in elk .cpp bestand in plaats van willekeurig een of het andere bestand te kiezen).
  • Windows Trace Preprocessor-updates (tracewpp.exe):

    • Ondersteunt Unicode-invoerbestanden (.ini, .tpl en broncode). Invoerbestanden die beginnen met een UTF-8 of UTF-16-byte order mark (BOM), worden gelezen als Unicode. Invoerbestanden die niet beginnen met een stuklijst, worden gelezen met behulp van de huidige codepagina (CP_ACP). Voor compatibiliteit met eerdere versies geldt dat als de opdrachtregelparameter -UnicodeIgnore is opgegeven, bestanden die beginnen met een UTF-16 BOM als leeg worden behandeld.
    • Ondersteunt Unicode-uitvoerbestanden (.tmh). Standaard worden uitvoerbestanden gecodeerd met behulp van de huidige codepagina (CP_ACP). Gebruik opdrachtregelparameters -cp:UTF-8 of -cp:UTF-16 om Unicode-uitvoerbestanden te genereren.
    • Gedragswijziging: tracewpp converteert nu alle invoertekst naar Unicode, voert verwerking uit in Unicode en converteert uitvoertekst naar de opgegeven uitvoercodering. Eerdere versies van tracewpp hebben Unicode-conversies vermeden en tekstverwerking uitgevoerd op basis van een tekenset met één byte. Dit kan leiden tot gedragswijzigingen in gevallen waarin de invoerbestanden niet voldoen aan de huidige codepagina. In gevallen waarin dit een probleem is, kunt u de invoerbestanden converteren naar UTF-8 (met stuklijst) en/of de opdrachtregelparameter -cp:UTF-8 gebruiken om dubbelzinnigheid te voorkomen.
  • Updates voor TraceLoggingProvider.h:

    • Voorkomt one-definition-rule (ODR)-problemen die worden veroorzaakt door conflicterende configuratiemacro's (bijvoorbeeld wanneer twee .cpp bestanden met conflicterende definities van TLG_EVENT_WRITE_TRANSFER zijn gekoppeld aan hetzelfde binaire bestand, respecteren de helpers van TraceLoggingProvider.h nu de definitie van TLG_EVENT_WRITE_TRANSFER in elk .cpp bestand in plaats van willekeurig een of het andere bestand te kiezen).
    • In C++-code is de macro TraceLoggingWrite bijgewerkt om code beter te delen tussen vergelijkbare gebeurtenissen met behulp van variadische sjablonen.
  • Uw apps ondertekenen. Device Guard-ondertekening is een Device Guard-functie die beschikbaar is in Microsoft Store voor Bedrijven en education, waarmee ondernemingen kunnen garanderen dat elke app afkomstig is van een vertrouwde bron. Zie de documentatie over Device Guard-ondertekening.

  • SDK-headers zijn bijgewerkt om fouten op te lossen bij het compileren met behulp van de standaardconformante C-preprocessor in de MSVC-compiler cl.exe (/Zc:preprocessor, geïntroduceerd in VS 2019 v16.6).

  • Opgelost: "GdiplusTypes.h compileert niet met NOMINMAX". Zie Feedback voor Visual Studio.

  • Wanneer u bouwt met /std:c11 of /std:c17, krijgt u nu:

    • C99 tgmath.h
    • C11 static_assert in assert.h
    • C11 stdalign.h
    • C11 stdnoreturn.h
  • Clang/LLVM voor Windows v11 gericht op ARM64 is niet compatibel met de nieuwste winnt.h

    • Als tijdelijke oplossing gebruikt u de vorige versie van de Windows 10 SDK (build 19041) of clang/LLVM voor Windows v10 bij arm64-platforms
  • DirectXMath (inclusief versie 3.16 in deze release) is niet compatibel met Clang/LLVM voor Windows op ARM64.

  • De hoofdletters van sommige headerbestanden zijn gewijzigd om ze te normaliseren voor hoofdlettergevoelige bestandssystemen:

    • OAIdl.h, ObjIdl.h, ObjIdlbase.h, OCIdl.h, Ole2.h, OleAuto.h en OleCtl.h zijn allemaal kleine letters gemaakt.
    • Voor Clang/LLVM voor Windows-builds, ter ondersteuning van zowel oudere versie als de nieuwste Windows 10 SDK zonder waarschuwingen, voegt u toe aan de CLI of de -Wno-nonportable-system-include-path volgende #pragma in de bron:

    #ifdef __clang__

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

    #endif

Windows 10 SDK, onderhoudsupdate van versie 2004 (uitgebracht op 16-12-2020)

Deze release bevat de volgende bestanden. Als u deze problemen ondervindt, raden we u aan uw versie van de SDK zo snel mogelijk bij te werken om deze te voorkomen:

  • Onvoorspelbare en moeilijk te diagnosticeren crashes opgelost bij het koppelen van zowel paraplubibliotheken als systeemeigen besturingssysteembibliotheken (bijvoorbeeld onecoreuap.lib en kernel32.lib)
  • Probleem opgelost waardoor AppVerifier niet werkte
  • Probleem opgelost dat ertoe leidde dat WACK mislukte met 'Taak kan HighVersionLie niet inschakelen'

Meer bronnen