Windows SDK

Die Windows SDK (10.0.22621) für Windows 11 stellt die neuesten Header, Bibliotheken, Metadaten und Tools zum Erstellen von Windows-Anwendungen bereit. Verwenden Sie dieses SDK, um Universelle Windows-Plattform (UWP) und Win32-Anwendungen für Windows 11, Version 23H2 und frühere Windows-Versionen zu erstellen.

Tipp

Windows-App-SDK
Die Windows App SDK bietet einen einheitlichen Satz von APIs und Tools, die vom Betriebssystem entkoppelt und über NuGet-Pakete für Entwickler freigegeben werden. Diese APIs und Tools können von jeder Desktop-App auf Windows 11 und auf Windows 10, Version 1809 konsistent verwendet werden.

Erste Schritte

Sie können die Windows SDK auf zwei Arten abrufen: Installieren Sie sie auf dieser Seite, indem Sie den Downloadlink auswählen oder "Windows 11 SDK (10.0.22621.0)" in den optionalen Komponenten des Visual Studio 2022-Installers auswählen. Vor der SDK-Installation:

Letzte Aktualisierung: Februar 2024

Systemanforderungen

Für das Windows SDK gelten folgende Mindestvoraussetzungen:

Unterstützte Betriebssysteme

  • Windows 10 Version 1507 oder höher: Home, Professional, Education und Enterprise (LTSB und S werden für UWP nicht unterstützt)
  • Windows Server 2022, Windows Server 2019, Windows Server 2016 und Windows Server 2012 R2 (nur Befehlszeile)
  • Windows 8.1
  • Windows 7 SP1

(Unter früheren Betriebssystemen werden nicht alle Tools unterstützt.)

Hardwareanforderungen

  • 1,6-GHz-Prozessor oder schneller
  • 1 GB RAM
  • 4 GB verfügbarer Festplattenspeicher

Weitere SDK-Anforderungen

Für die Installation unter Windows 8.1 und früheren Betriebssystemen ist ein Update für die universelle C-Runtime in Windows erforderlich. Für die Installation über Windows Update sollten die neuesten empfohlenen Updates und Patches von Microsoft Update installiert sein, bevor Sie das Windows SDK installieren.

Beispiele

Windows-App-Beispiele sind jetzt über GitHub verfügbar. Sie können den Code auf GitHub durchsuchen, eine persönliche Kopie des Repositorys von Git klonen oder ein gezipptes Archiv aller Beispiele herunterladen . Wir freuen uns immer über Feedback. Erstellen Sie im Repository also gern eine Anfrage, wenn Sie ein Problem oder eine Frage haben. Diese Beispiele sind für die Ausführung auf Desktopgeräten, mobilen Geräten und zukünftigen Geräten ausgelegt, welche die Universelle Windows-Plattform (UWP) unterstützen.

Vorherige SDK-Versionen

Die zuvor veröffentlichten SDKs und Emulatoren sowie die Updatedetails finden Sie auf der Archivseite.

Neue APIs

Wenn Sie neue APIs verwenden, sollten Sie Ihre App so schreiben, dass sie adaptiv ist, damit sie auf dem breitesten Array von Windows-Geräten ordnungsgemäß ausgeführt wird. Eine adaptive App "leuchtet" mit neuen Features überall dort auf, wo sie von den Geräten und der Windows-Version unterstützt werden, bietet aber ansonsten nur die Funktionalität, die auf der erkannten Plattformversion verfügbar ist. Details zur Implementierung finden Sie im Artikel Adaptiver Code der Version.

Versionshinweise und bekannte Probleme

Windows 11, Build 10.0.22621.3235 (Veröffentlichung: 29.02.2024)

Wartungsupdate 10.0.22621.3235.

Windows 11, Build 10.0.22621.2428 (veröffentlicht am 24.10.2023)

Wartungsupdate 10.0.22621.2428.

Windows 11, Version 22H2, Build 10.0.22621.1778

Update 10.0.22621.1778. Zu den hervorgehobenen Features gehören:

  • Mit WindowTabManager-APIs können Anwendungen mit Registerkartenschnittstellen Informationen zu geöffneten Registerkarten für die Windows-Shell bereitstellen.
  • Updates zu HumanPresence-APIs, um die Benutzerfreundlichkeit zu verbessern und neue Einstellungen für Sensoren hinzuzufügen, die Funktionen für menschliche Anwesenheit unterstützen.
  • RemoteDesktop-APIs ermöglichen Es Anwendungen, zwischen einem Remote- und einem lokalen Desktop zu wechseln.
Windows SDK für Windows 11, Version 22H2
  • Wartungsupdate 10.0.22621.755. Enthält ARM64-Unterstützung für die VS 17.4-Version
Windows 10 SDK, Version 2104
  • api-ms-win-net-isolation-l1-1-0.lib entfernt. Apps, die eine Verknüpfung mit api-ms-win-net-isolation-l1-1-0.lib erstellt haben, können t OneCoreUAP.lib als Ersatz wechseln.

  • Irprops.lib entfernt. Apps, die eine Verknüpfung mit irprops.lib ausgeführt haben, können als Drop-In-Ersatz zu bthprops.lib wechseln.

  • ENUM tagServerSelection von wuapicommon.h zu wupai.h verschoben und den Header entfernt. Wenn Sie das ENUM-TagServerSelection verwenden möchten, müssen Sie wuapi.h oder wuapi.idl einschließen.

  • Mit dem Windows 10 WinRT API Pack können Sie Ihren Bibliotheken und Apps .NET Framework 4.5+ und .NET Core 3.0+ die neueste Unterstützung von Windows-Runtime APIs hinzufügen. Informationen zum Zugriff auf das Windows 10 WinRT API Pack finden Sie im Nuget-Paket Microsoft.Windows.SDK.Contracts.

  • Die printf-Funktionsfamilie entspricht jetzt den IEEE 754-Rundungsregeln beim Drucken exakt darstellbarer Gleitkommazahlen und berücksichtigt den über Aufrufe von fesetround angeforderten Rundungsmodus. Legacyverhalten ist beim Verknüpfen mit legacy_stdio_float_rounding.obj verfügbar.

  • Zertifizierungskit für Windows-Apps. Mehrere neue APIs wurden der Liste Unterstützte APIs im App Certification Kit und Im Windows Store hinzugefügt. Wenn in der Liste der unterstützten APIs vorhanden sind, die in Visual Studio abgeblendet oder deaktiviert angezeigt werden, können Sie eine kleine Änderung an Ihrer Quelldatei vornehmen, um darauf zuzugreifen. Weitere Informationen finden Sie in diesem bekannten Problem. Hier finden Sie weitere Updates für Tests.

  • Nachrichtencompiler (mc.exe) Updates:

    • Erkennt nun die Unicode-Bytereihenfolgemarkierung (BOM) in MC-Dateien. Wenn die MC-Datei mit einer UTF-8-BOM beginnt, wird sie als UTF-8-Datei gelesen. Andernfalls wird sie, wenn sie mit einer UTF-16LE-BOM beginnt, als UTF-16LE-Datei gelesen. Wenn der -u-Parameter angegeben wurde, wird er als UTF-16LE-Datei gelesen. Andernfalls wird sie mit der aktuellen Codepage (CP_ACP) gelesen.
    • Jetzt werden Probleme mit einer One-Definition-Rule (ODR) in MC-generierten C/C++-ETW-Hilfsprogrammen vermieden, die durch konfliktierende Konfigurationsmakros verursacht werden (z. B. wenn zwei .cpp Dateien mit widersprüchlichen Definitionen von MCGEN_EVENTWRITETRANSFER mit derselben Binärdatei verknüpft sind, respektieren die MC-generierten ETW-Hilfsprogramme nun die Definition von MCGEN_EVENTWRITETRANSFER in jeder .cpp Datei, anstatt willkürlich die eine oder die andere auszuwählen).
  • Updates für Windows Trace Preprocessor (tracewpp.exe):

    • Unterstützt Unicode-Eingabedateien (.ini, TPL und Quellcode). Eingabedateien, die mit einer UTF-8- oder UTF-16-Bytereihenfolgemarkierung (BOM) beginnen, werden als Unicode gelesen. Eingabedateien, die nicht mit einer Stückliste beginnen, werden mithilfe der aktuellen Codepage (CP_ACP) gelesen. Aus Gründen der Abwärtskompatibilität werden Dateien, die mit einer UTF-16-BOM beginnen, als leer behandelt, wenn der Befehlszeilenparameter -UnicodeIgnore angegeben wird.
    • Unterstützt Unicode-Ausgabedateien (.tmh). Standardmäßig werden Ausgabedateien mit der aktuellen Codepage (CP_ACP) codiert. Verwenden Sie Befehlszeilenparameter -cp:UTF-8 oder -cp:UTF-16, um Unicode-Ausgabedateien zu generieren.
    • Verhaltensänderung: tracewpp konvertiert jetzt den gesamten Eingabetext in Unicode, führt die Verarbeitung in Unicode aus und konvertiert Ausgabetext in die angegebene Ausgabecodierung. In früheren Versionen von tracewpp wurden Unicode-Konvertierungen vermieden und die Textverarbeitung unter der Annahme eines Einzelbytezeichensatzes durchgeführt. Dies kann zu Verhaltensänderungen führen, wenn die Eingabedateien nicht der aktuellen Codepage entsprechen. In Fällen, in denen dies ein Problem darstellt, sollten Sie die Eingabedateien in UTF-8 (mit BOM) konvertieren und/oder den Befehlszeilenparameter -cp:UTF-8 verwenden, um Mehrdeutigkeiten bei der Codierung zu vermeiden.
  • TraceLoggingProvider.h-Updates:

    • Vermeidet OdR-Probleme (One-Definition-Rule), die durch in Konflikt stehende Konfigurationsmakros verursacht werden (z. B. wenn zwei .cpp Dateien mit in Konflikt stehenden Definitionen von TLG_EVENT_WRITE_TRANSFER mit derselben Binärdatei verknüpft sind, berücksichtigt das TraceLoggingProvider.h-Hilfsprogramm nun die Definition von TLG_EVENT_WRITE_TRANSFER in jeder .cpp Datei, anstatt willkürlich die eine oder die andere auszuwählen).
    • In C++-Code wurde das TraceLoggingWrite-Makro aktualisiert, um eine bessere Codefreigabe zwischen ähnlichen Ereignissen mithilfe von variatischen Vorlagen zu ermöglichen.
  • Signieren Ihrer Apps. Die Device Guard-Signatur ist ein Device Guard-Feature, das in Microsoft Store für Unternehmen und Education verfügbar ist und es Unternehmen ermöglicht, sicherzustellen, dass jede App von einer vertrauenswürdigen Quelle stammt. Weitere Informationen finden Sie in der Dokumentation zur Device Guard-Signatur.

  • SDK-Header wurden aktualisiert, um Fehler beim Kompilieren mit dem standardkonformanten C-Präprozessor im MSVC-Compiler cl.exe (/Zc:Preprozessor, eingeführt in VS 2019 v16.6) zu beheben.

  • Behoben: "GdiplusTypes.h kompiliert nicht mit NOMINMAX". Weitere Informationen finden Sie unter Visual Studio-Feedback.

  • Wenn Sie mit /std:c11 oder /std:c17 erstellen, erhalten Sie jetzt Folgendes:

    • C99 tgmath.h
    • C11 static_assert in assert.h
    • C11 stdalign.h
    • C11 stdnoreturn.h
  • Clang/LLVM für Windows v11 für ARM64 ist nicht kompatibel mit der neuesten winnt.h

    • Verwenden Sie als Problemumgehung die vorherige Version des Windows 10 SDK (Build 19041) oder clang/LLVM für Windows v10, wenn Sie ARM64-Plattformen als Ziel verwenden.
  • DirectXMath (einschließlich Version 3.16 in dieser Version) ist nicht mit Clang/LLVM für Windows unter ARM64 kompatibel.

  • Die Groß-/Kleinschreibung einiger Headerdateien wurde geändert, um sie für Dateisysteme zu normalisieren, bei denen die Groß-/Kleinschreibung beachtet wird:

    • OAIdl.h, ObjIdl.h, ObjIdlbase.h, OCIdl.h, Ole2.h, OleAuto.h und OleCtl.h wurden alle klein geschrieben.
    • Fügen Sie für Clang/LLVM für Windows-Builds sowohl ältere Versionen als auch das neueste Windows 10 SDK ohne Warnungen zur CLI oder die folgenden #pragma in der Quelle hinzu-Wno-nonportable-system-include-path:

    #ifdef __clang__

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

    #endif

Windows 10 SDK, Version 2004 Wartungsupdate (veröffentlicht am 16.12.2020)

Diese Version enthält die folgenden Dateien. Wenn diese Probleme auftreten, empfiehlt es sich, Ihre SDK-Version so bald wie möglich zu aktualisieren, um sie zu vermeiden:

  • Es wurden unvorhersehbare und schwer zu diagnostizierende Abstürze beim Verknüpfen von Dachbibliotheken und nativen Betriebssystembibliotheken (z. B. onecoreuap.lib und kernel32.lib) behoben.
  • Behobenes Problem, durch das AppVerifier nicht funktionierte
  • Es wurde ein Problem behoben, das dazu führte, dass WACK mit "Task failed to enable HighVersionLie" fehlschlug.

Weitere Ressourcen

  • Downloads und Tools

    Rufen Sie die neuesten Editionen von Visual Studio und Windows 10 Entwicklungstools ab.

  • SDK-Archiv

    Suchen Sie nach vorherigen Versionen des Windows SDK und anderen Tools.

  • Windows-Blog

    Bleiben Sie mit den neuesten SDK-Flügen in Kontakt, indem Sie unseren Blog abonnieren.