Windows SDK

De Windows SDK (10.0.22000) voor Windows 11 biedt de allernieuwste headers, bibliotheken, metagegevens en hulpprogramma's voor het bouwen van Windows-apps. Gebruik deze SDK om apps voor Universeel Windows-platform (UWP) en Win32-toepassingen voor Windows 11 en eerdere versies van Windows te bouwen.

Aan de slag

De Windows SDK kun je op twee manieren installeren: je kunt deze versie via de downloadkoppeling op deze pagina installeren of door Windows 11 SDK (10.0.22000) te selecteren bij de optionele onderdelen van het installatieprogramma van Visual Studio 2019.

Voordat je deze SDK installeert:

  1. Bekijk alle systeemvereisten
  2. Sluit Visual Studio af voordat je de installatie start.
  3. Bekijk de opmerkingen bij de release en bekende problemen.

Systeemvereisten

Voor de Windows SDK moet aan de volgende minimum systeemvereisten zijn voldaan:

Ondersteunde besturingssystemen

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

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

Hardwarevereisten

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

Aanvullende SDK-vereisten

Voor installatie in Windows 8.1 en eerdere besturingssystemen is KB2999226 vereist. Als je wilt installeren via Windows Update, moet je de meest recente aanbevolen updates en patches hebben geïnstalleerd via Microsoft Update voordat je de Windows SDK installeert.

Wat is er nieuw

Met Windows SDK voor Windows 11 kun je je apps bijwerken voor de nieuwste versie van het Windows-besturingssysteem. Meer informatie over de nieuwe functies in Windows 11.

Zie Nieuwe API's in Windows 11 build 22000 voor meer informatie over de nieuwe API's die zijn geïntroduceerd in Windows 11.

De binaire bestanden van Windows 11 op het ARM-besturingssysteem zijn opnieuw samengesteld met ARM64EC, zodat alle systeemcode die wordt geladen door x64-apps met systeemeigen snelheid wordt uitgevoerd. Profiteer van ARM64EC om je app stapsgewijs over te brengen naar uitvoering met systeemeigen snelheid op ARM, zelfs als je afhankelijkheden of invoegtoepassingen hebt die ARM nog niet ondersteunen. Lees de aankondiging.

Voorbeelden

Voorbeelden van Windows-apps zijn nu beschikbaar via GitHub. Je kunt door de code op GitHub bladeren, vanuit Git een persoonlijk exemplaar van de opslagplaats klonen of een gecomprimeerd archief met alle voorbeelden downloaden. We zijn blij met feedback, dus maak er melding van in de opslagplaats als je een probleem of een vraag hebt. Deze voorbeelden zijn ontworpen om te worden uitgevoerd op desktop-, mobiele en toekomstige apparaten die het Universeel Windows-platform (UWP) ondersteunen.

Eerdere SDK-versies

Eerder uitgegeven en ondersteunde SDK's en emulators, met inbegrip van updatedetails, vind je op de archiefpagina.

API-informatie

Wanneer je nieuwe API's gebruikt, kun je overwegen een adaptieve app te schrijven zodat die correct wordt uitgevoerd op het grootste aantal Windows-apparaten. Een adaptieve app wordt 'verlicht' met nieuwe functies wanneer het apparaat en de Windows-versie waarop de app wordt geïnstalleerd deze ondersteunen. Als dat niet het geval is, biedt de app alleen de functionaliteit die beschikbaar is op de gedetecteerde versie van het platform. Raadpleeg het artikel over adaptieve code voor versies.

Releaseopmerkingen en bekende problemen

Windows 10 SDK, version 2104

  • api-ms-win-net-isolation-l1-1-0.lib is verwijderd. Apps die zijn gekoppeld op basis van api-ms-win-net-isolation-l1-1-0.lib kunnen in de plaats daarvan OneCoreUAP.lib gebruiken.
  • irprops.lib is verwijderd. Apps die zijn gekoppeld op basis van Irprops. lib kunnen in de plaats daarvan bthprops.lib als tijdelijke vervanging gebruiken.
  • ENUM-tagServerSelection is van wuapicommon.h naar wupai.h verplaatst en de header is verwijderd. Voeg wuapi.h of wuapi idl toe om ENUM tagServerSelection te gebruiken.
  • U kunt met het Windows 10 WinRT API-pakket ondersteuning voor de nieuwste Windows Runtime API's toevoegen aan uw .NET Framework 4.5+- en .NET Core 3.0+-bibliotheken en -apps. Raadpleeg het NuGet-pakket Microsoft.Windows.SDK.Contracts voor toegang tot het Windows 10 WinRT API-pakket.
  • De printf-familie met functies voldoet nu aan de IEEE 754-regels voor afronden bij het afdrukken van exact representatieve drijvende-kommagetallen en voldoet aan de afrondingsmodus die is aangevraagd via aanroepen naar fesetround. Verouderd gedrag is beschikbaar wanneer u een koppeling maakt met legacy_stdio_float_rounding.obj.
  • Windows Kit voor app-certificering. Er zijn verschillende nieuwe API's toegevoegd aan de lijst Ondersteunde API's in de Kit voor app-certificering en Windows Store. Als in deze lijst ondersteunde API's grijs worden weergegeven of zijn uitgeschakeld in Visual Studio, kunnen ze met een kleine wijziging in het bronbestand worden ingeschakeld voor gebruik. Bekijk dit bekende probleem voor meer informatie. Zoek naar meer updates voor tests.
  • Updates voor berichtcompiler (mc.exe):
    • De Unicode-bytevolgordemarkering (BOM) wordt nu gedetecteerd in MC-bestanden. Als het MC-bestand begint met een UTF-8-bytevolgordemarkering, wordt het als een UTF-8-bestand gelezen. Als het echter begint met een UTF-16LE-bytevolgordemarkering, wordt het als een UTF-16LE-bestand gelezen. Als de parameter -u is opgegeven, wordt het als een UTF-16LE-bestand gelezen. Anders wordt het gelezen met behulp van de huidige codetabel (CP_ACP).
    • ODR-problemen (one-definition-rule) vanwege conflicterende configuratiemacro's worden nu voorkomen in door MC gegenereerde C/C++ ETW-helpers (bijvoorbeeld wanneer twee CPP-bestanden met conflicterende definities van MCGEN_EVENTWRITETRANSFER zijn gekoppeld aan hetzelfde binaire bestand, houden de door MC gegenereerde ETW-helpers nu de definitie van MCGEN_EVENTWRITETRANSFER in elk CPP-bestand aan in plaats van dat er een willekeurige definitie uit het een of het andere bestand wordt gekozen.)
  • Updates voor Windows Trace-preprocessor (tracewpp.exe):
    • Biedt ondersteuning voor Unicode-invoerbestanden (.ini, .tpl en broncode). Invoerbestanden die beginnen met een UTF-8- of UTF-16-bytevolgordemarkering (BOM) worden gelezen als Unicode. Invoerbestanden die niet met een bytevolgordemarkering beginnen, worden gelezen met behulp van de huidige codetabel (CP_ACP). Als voor compatibiliteit met eerdere versies de opdrachtregelparameter -UnicodeIgnore wordt opgegeven, worden bestanden die beginnen met een UTF-16-bytevolgordemarkering als leeg beschouwd.
    • Biedt ondersteuning voor Unicode-uitvoerbestanden (.tmh). Standaard worden uitvoerbestanden gecodeerd met behulp van de huidige codetabel (CP_ACP). Gebruik opdrachtregelparameter -cp:UTF-8 of -cp:UTF-16 om Unicode-uitvoerbestanden te genereren.
    • Gedragswijziging: tracewpp converteert nu alle invoertekst naar Unicode, voert de verwerking uit in Unicode en converteert uitvoertekst naar de opgegeven uitvoercodering. In eerdere versies van tracewpp werden Unicode-conversies voorkomen en werd bij tekstverwerking uitgegaan van een single-byte character set. Dit kan leiden tot gedragswijzigingen in gevallen waar voor de invoerbestanden niet de huidige codetabel is gebruikt. In gevallen waarin dit een probleem is, kun je overwegen om de invoerbestanden te converteren naar UTF-8 (met de bytevolgordemarkering) en/of om door de opdrachtregelparameter -cp:UTF-8 op te geven vermijdt dat er verwarring in de codering ontstaat.
  • Updates voor TraceLoggingProvider.h:
    • Problemen met ODR (one-definition-rule) vanwege conflicterende configuratiemacro's worden nu voorkomen (wanneer bijvoorbeeld twee CPP-bestanden met conflicterende definities van TLG_EVENT_WRITE_TRANSFER zijn gekoppeld aan hetzelfde binaire bestand, houden de TraceLoggingProvider.h-helpers nu de definitie van TLG_EVENT_WRITE_TRANSFER in elk CPP-bestand aan in plaats van dat er een willekeurige definitie uit het een of het andere bestand wordt gekozen).
    • In C++-code is de macro TraceLoggingWrite bijgewerkt zodat code beter kan worden gedeeld tussen vergelijkbare gebeurtenissen met behulp van variadische-sjablonen.
  • Je apps ondertekenen. Ondertekenen in Device Guard is een functie van Device Guard die beschikbaar is in Microsoft Store voor Bedrijven en Educatief en waarmee ondernemingen kunnen garanderen dat elke app afkomstig is van een vertrouwde bron. Raadpleeg de documentatie over het ondertekenen met Device Guard.
  • SDK-headers zijn bijgewerkt om fouten op te lossen die zich voordoen tijdens het compileren met de C-preprocessor (conform de standaard) in het cl.exe-bestand van het MSVC-compilatieprogramma (/Zc:preprocessor, geïntroduceerd in VS 2019 v16.6).
  • Opgelost: 'GdiplusTypes.h kan niet worden gecompileerd met NOMINMAX'. Bekijk de feedback over 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 voor ARM64 is niet compatibel met de nieuwste winnt.h
    • Als een tijdelijke oplossing kunt u de vorige versie van de Windows 10 SDK (build 19041) of clang/LLVM voor Windows v10 gebruiken voor ARM64-platformen
  • DirectXMath (inclusief versie 3.16 in deze release) is niet compatibel met Clang/LLVM voor Windows op ARM64.
  • Het hoofdlettergebruik in een aantal headerbestanden is gewijzigd, om ze te normaliseren voor hoofdlettergevoelige bestandssystemen:
    • OAIdl.h, ObjIdl.h, ObjIdlbase.h, OCIdl.h, Ole2.h, OleAuto.h en OleCtl.h worden nu allemaal met kleine letters geschreven.
    • Als u voor Clang/LLVM voor Windows-builds ondersteuning wilt bieden voor zowel de oudere versie als de nieuwste Windows 10 SDK zonder waarschuwingen, voegt u `-Wno-nonportable-system-include-path` toe aan de CLI, of voegt u de volgende #pragma in de bron toe:

      #ifdef __clang__
      #pragma clang diagnostic ignored "-Wnonportable-system-include-path"
      #endif

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

    Deze release bevat de volgende bestanden. Als u deze problemen ondervindt, wordt u aangeraden uw versie van de SDK zo snel mogelijk bij te werken om ze te vermijden:
  • Onvoorspelbare en moeilijk vast te stellen crashes opgelost bij het koppelen van zowel overkoepelende bibliotheken als systeemeigen bibliotheken van het besturingssysteem (bijvoorbeeld onecoreuap.lib en kernel32.lib)
  • Probleem opgelost waardoor AppVerifier niet werkte
  • Probleem opgelost waarbij WACK mislukte met de melding Taak kan HighVersionLie niet inschakelen

Feedback geven

Zie de Q&An voor winapi-sdk voor bekende problemen.

Verzend nieuwe aanvragen voor ontwikkelaarsfuncties via de categorie Ontwikkelaarsplatform/API van de app Feedback-hub.

Meer informatiebronnen

Downloads en hulpprogramma’s

Download de nieuwste edities van de Visual Studio- en Windows 10-ontwikkelprogramma's.

MEER INFORMATIE

SDK-archief

Zoek naar eerdere releases van Windows SDK en andere hulpprogramma's.

HET ARCHIEF BEKIJKEN

Windows-blog

Blijf op de hoogte van de nieuwste SDK-flights door u te abonneren op ons blog.

SDK-FLIGHTNIEUWS LEZEN

Informatieblad voor Windows-levenscyclus

Bekijk de belangrijkste datums voor updates van Windows-releases en einde van ondersteuning.

BEKIJK HET INFORMATIEBLAD