Windows SDK

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

Tipp

Windows-App-SDK
Die Windows App SDK stellt einen einheitlichen Satz von APIs und Tools bereit, 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 Abwärtsebene auf Windows 10, Version 1809 konsistent verwendet werden.

Erste Schritte

Sie können das Windows SDK auf zwei Arten abrufen: Installieren Sie es 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: Mai 2023

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 unter 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 erwägen, Ihre App so zu 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, wo die Geräte und Windows-Version sie unterstützen, bietet aber ansonsten nur die Funktionalität, die auf der erkannten Plattformversion verfügbar ist. Details zur Implementierung finden Sie im Artikel Versionsadaptiven Code.

Versionshinweise und bekannte Probleme

Windows 11, Version 22H2, Build 10.0.22621.1778

Update 10.0.22621.1778. Zu den hervorgehobenen Features gehören:

  • WindowTabManager-APIs ermöglichen Anwendungen mit Schnittstellen im Registerkartenformat, Informationen zu geöffneten Registerkarten für die Windows-Shell bereitzustellen.
  • Updates zu HumanPresence-APIs, um die Benutzerfreundlichkeit zu verbessern und neue Einstellungen für Sensoren hinzuzufügen, die Die Anwesenheitsfunktionen des Menschen 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 das VS 17.4-Release
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 "OneCoreUAP.lib" als Ersatz wechseln.

  • Irprops.lib entfernt. Apps, die eine Verknüpfung mit irprops.lib hergestellt 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 die 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 .NET Framework Bibliotheken und Apps 4.5 und höher und .NET Core 3.0 und höher die neueste Unterstützung Windows-Runtime APIs hinzufügen. Informationen zum Zugriff auf das Windows 10 WinRT-API-Paket 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. Der Liste Unterstützte APIs im App Certification Kit und im Windows Store wurden mehrere neue APIs hinzugefügt. Wenn in der Liste der unterstützten APIs enthalten 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 unter Dieses bekannte Problem. Hier finden Sie weitere Updates für Tests.

  • Nachrichtencompilerupdates (mc.exe):

    • Erkennt nun die Unicode-Bytereihenfolgemarkierung (Unicode Byte Order Mark, BOM) in MC-Dateien. Wenn die MC-Datei mit einer UTF-8-BOM beginnt, wird sie als UTF-8-Datei gelesen. Wenn sie mit einer UTF-16LE-BOM beginnt, wird sie als UTF-16LE-Datei gelesen. Wenn der Parameter -u angegeben wurde, wird er als UTF-16LE-Datei gelesen. Andernfalls wird es mithilfe der aktuellen Codepage (CP_ACP) gelesen.
    • Jetzt werden Probleme mit einer ONE-Definition-Regel (ODR) in MC-generierten C/C++-ETW-Hilfsprogrammen vermieden, die durch in Konflikt stehende Konfigurationsmakros verursacht werden (z. B. wenn zwei CPP-Dateien mit in Konflikt stehenden Definitionen von MCGEN_EVENTWRITETRANSFER mit derselben Binärdatei verknüpft sind, berücksichtigen die MC-generierten ETW-Hilfsprogramme jetzt die Definition von MCGEN_EVENTWRITETRANSFER in jeder CPP-Datei, anstatt willkürlich die eine oder die andere zu wä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 BoM 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 mithilfe der aktuellen Codepage (CP_ACP) codiert. Verwenden Sie die 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 durch und konvertiert Ausgabetext in die angegebene Ausgabecodierung. In früheren Versionen von tracewpp wurden Unicode-Konvertierungen vermieden und die Textverarbeitung unter der Annahme eines Ein-Byte-Zeichensatzes 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:

    • Verhindert ODR-Probleme (One-Definition-Rule), die durch in Konflikt stehende Konfigurationsmakros verursacht werden (wenn z. B. zwei CPP-Dateien mit in Konflikt stehenden Definitionen von TLG_EVENT_WRITE_TRANSFER mit derselben Binärdatei verknüpft sind, berücksichtigt die TraceLoggingProvider.h-Hilfsprogramme jetzt die Definition von TLG_EVENT_WRITE_TRANSFER in jeder CPP-Datei, anstatt willkürlich die eine oder die andere zu wählen).
    • In C++-Code wurde das TraceLoggingWrite-Makro aktualisiert, um eine bessere Codefreigabe zwischen ähnlichen Ereignissen mithilfe von variadischen 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, mit dem Unternehmen garantieren können, dass jede App aus 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 standardkonformen C-Präprozessor im MSVC-Compiler cl.exe (/Zc:preprocessor, 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.