Windows SDK

A Windows 11-hez készült Windows SDK (10.0.26100) a legújabb fejléceket, kódtárakat, metaadatokat és eszközöket biztosít a Windows-alkalmazások létrehozásához. Ezzel az SDK-val univerzális Windows-platformot (UWP) és Win32-alkalmazásokat hozhat létre a Windows 11-es, 24H2-es és korábbi Windows-kiadásokhoz.

Borravaló

Windows App SDK
A Windows App SDK egységes api-kat és eszközöket biztosít, amelyek leválasztva vannak az operációs rendszerről, és NuGet-csomagokon keresztül jelennek meg a fejlesztők számára. Ezeket az API-kat és eszközöket konzisztens módon használhatja bármely asztali alkalmazás a Windows 11-es és a Windows 10 1809-es verziójára.

Kezdetekhez

A Windows SDK kétféleképpen szerezhető be: telepítse erről a lapról a letöltési hivatkozás kiválasztásával vagy a Visual Studio 2022 Telepítő választható összetevői között a "Windows 11 SDK (10.0.26100.0)" lehetőség kiválasztásával. Az SDK telepítése előtt:

A .iso > letöltése

Legutóbb frissítve: 2024. szeptember

Rendszerkövetelmények

A Windows SDK minimális rendszerkövetelményei a következők:

Támogatott operációs rendszerek

  • Windows 11, 21h2-es vagy újabb verzió: Home, Pro, Education és Enterprise (az LTSC nem támogatott az UWP-ben)
  • Windows 10, 1507-es vagy újabb verzió: Home, Pro, Education és Enterprise (LTSB/LTSC és S mód UWP esetén nem támogatott)
  • Windows Server 2022, Windows Server 2019, Windows Server 2016 és Windows Server 2012 R2 (csak parancssor)
  • Windows 8.1
  • Windows 7 SP1

(Nem minden eszköz támogatott a korábbi operációs rendszereken)

Hardverkövetelmények

  • 1,6 GHz-es vagy gyorsabb processzor
  • 1 GB RAM
  • 4 GB szabad merevlemez-terület

További SDK-követelmények

A Windows 8.1 és a korábbi operációs rendszereken való telepítéshez frissíteni kell Univerzális C futtatókörnyezetet a Windows. A Windows Update használatával történő telepítéshez a Windows SDK telepítése előtt telepítse a Microsoft Update legújabb ajánlott frissítéseit és javításait.

Minták

A Windows-alkalmazásminták mostantól elérhetők GitHub. A GitHubon böngészhet a kódban, klónozhatja az adattár személyes másolatát a Gitből, vagy letöltheti az összes minta tömörített archívumát. Szívesen vesszük a visszajelzéseket, ezért nyugodtan nyisson meg egy problémát az adattárban, ha problémája vagy kérdése van. Ezek a minták asztali, mobil és jövőbeli eszközökön való futtatásra lettek tervezve, amelyek támogatják az Univerzális Windows Platformot (UWP).

Korábbi SDK-verziók

A korábban kiadott SDK-k és emulátorok, beleértve a frissítés részleteit is, az archívoldalon találhatók.

API – felvilágosít

Ha új API-kat használ, érdemes lehet adaptívként írnia az alkalmazást, hogy megfelelően fusson a Windows-eszközök legszélesebb tömbjén. Az adaptív alkalmazás "világít" az új funkciókkal, ahol az eszközök és a Windows-verzió támogatja őket, de egyébként csak az észlelt platformverzión elérhető funkciókat kínálja. A megvalósítás részleteiért lásd a Adaptív kódcímű cikket.

Kibocsátási megjegyzések és ismert problémák

Windows 11, Build 10.0.26100.1742 (kiadás dátuma: 2024. 09. 24.)

Kiadás a Windows 11 24h2-es nyilvános kiadásának megfelelően.

Windows 11, Build 10.0.26100 (kiadás dátuma: 2024.05.22.)

A 10.0.26100-es sorozat első kiadása, amely megfelel a Windows 11 24h2 előzetes verziójának.

Windows 11, 10.0.22621.3235-ös build (kiadás dátuma: 2024.02.29.)

Karbantartási frissítés: 10.0.22621.3235.

Windows 11, Build 10.0.22621.2428 (kiadás dátuma: 2023. 10. 24.)

Karbantartási frissítés: 10.0.22621.2428.

Windows 11, 22H2-es verzió, 10.0.22621.1778-es build

Frissítés: 10.0.22621.1778. A kiemelt funkciók a következők:

  • A WindowTabManager API-k lehetővé teszik a többlapos felülettel rendelkező alkalmazások számára, hogy információkat adjanak a Windows rendszerhéj nyitott lapjairól.
  • A HumanPresence API-k frissítései a könnyű használat érdekében, valamint új beállítások hozzáadása az emberi jelenléti képességeket támogató érzékelőkhöz.
  • A RemoteDesktop API-k lehetővé teszik az alkalmazások számára a távoli és a helyi asztal közötti váltást.
Windows SDK for Windows 11, version 22H2
  • Karbantartási frissítés: 10.0.22621.755. Tartalmazza a VS 17.4 kiadás ARM64-támogatását
Windows 10 SDK, 2104-es verzió
  • Eltávolított api-ms-win-net-isolation-l1-1-0.lib. Az api-ms-win-net-isolation-l1-1-0.lib kapcsolattal összekapcsolt alkalmazások lecserélhetik a t OneCoreUAP.lib fájlt.

  • Eltávolított irprops.lib. Az irprops.lib-hez csatolt alkalmazások legördülő csereként válthatnak a bthprops.lib fájlra.

  • Áthelyezte az ENUM tagServerSelection-et a wuapicommon.h-ból a wupai.h fájlba, és eltávolította a fejlécet. Ha az ENUM tagServerSelection függvényt szeretné használni, a wuapi.h vagy a wuapi.idl értéket kell tartalmaznia.

  • A Windows 10 WinRT API Pack lehetővé teszi a Windows Futtatókörnyezet legújabb API-támogatásának hozzáadását a .NET Framework 4.5+ és .NET Core 3.0+ kódtárakhoz és alkalmazásokhoz. A Windows 10 WinRT API Pack eléréséhez tekintse meg a Microsoft.Windows.SDK.Contracts nuget-csomag.

  • A printf függvénycsalád most már megfelel az IEEE 754 kerekítési szabályainak, amikor pontosan ábrázolható lebegőpontos számokat nyomtat, és tiszteletben tartja a fesetroundhívásával kért kerekítési módot. Az örökölt viselkedés a legacy_stdio_float_rounding.objösszekapcsolásakor érhető el.

  • Windows-alkalmazástanúsítvány-készlet. Az Alkalmazástanúsítvány-készletben és a Windows Áruházban számos új API lett hozzáadva a támogatott API-k listájához. Ha a támogatott listában vannak olyan API-k, amelyek szürkével jelennek meg vagy le vannak tiltva a Visual Studióban, a forrásfájlt kis módosítással érheti el. További részletekért tekintse meg ezt a ismert problémát. További frissítések keresése a tesztekhez.

  • A Message Compiler (mc.exe) frissítései:

    • Most észleli a Unicode bájtrendelési jelet (BOM) a .mc fájlokban. Ha a .mc fájl egy UTF-8 BOM-val kezdődik, az UTF-8 fájlként lesz beolvasva. Ellenkező esetben, ha UTF-16LE BOM-val kezdődik, akkor UTF-16LE fájlként lesz olvasható. Ha a -u paraméter meg van adva, az UTF-16LE-fájlként lesz beolvasva. Ellenkező esetben az aktuális kódlap (CP_ACP) használatával lesz olvasható.
    • Most elkerüli az egydefiníciós szabályokkal (ODR) kapcsolatos problémákat az MC által létrehozott C/C++ ETW-segítőkben, amelyeket ütköző konfigurációs makrók okoznak (például ha két .cpp fájl ütköző definíciójú MCGEN_EVENTWRITETRANSFER ugyanahhoz a bináris fájlhoz van csatolva, az MC által létrehozott ETW-segítők mostantól tiszteletben tartják az egyes .cpp fájlok MCGEN_EVENTWRITETRANSFER definícióját ahelyett, hogy önkényesen kiválasztanák az egyiket vagy a másikat).
  • A Windows Trace Preprocessor (tracewpp.exe) frissítései:

    • Támogatja a Unicode-bemenetek (.ini, .tpl és forráskód) fájljait. Az UTF-8 vagy UTF-16 bájtsorrendjellel (BOM) kezdődő bemeneti fájlok Unicode formátumban lesznek olvashatók. A nem anyagjegyzékkel kezdődő bemeneti fájlok az aktuális kódlapon (CP_ACP) lesznek beolvasva. A visszamenőleges kompatibilitás érdekében, ha a -UnicodeIgnore parancssori paraméter van megadva, az UTF-16 anyagjegyzékkel kezdődő fájlok üresként lesznek kezelve.
    • Támogatja a Unicode-kimeneti (.tmh) fájlokat. Alapértelmezés szerint a kimeneti fájlok az aktuális kódlap (CP_ACP) használatával lesznek kódolva. Unicode-kimeneti fájlok létrehozásához használja a -cp:UTF-8 vagy -cp:UTF-16 parancssori paramétereket.
    • Viselkedésváltozás: a tracewpp mostantól az összes bemeneti szöveget Unicode-ra konvertálja, Unicode-feldolgozást végez, és a kimeneti szöveget a megadott kimeneti kódolásra konvertálja. A tracewpp korábbi verziói elkerülték a Unicode-átalakításokat, és egy bájtos karakterkészletet feltételezve szövegfeldolgozást hajtottak végre. Ez viselkedésbeli változásokhoz vezethet olyan esetekben, amikor a bemeneti fájlok nem felelnek meg az aktuális kódlapnak. Ha ez probléma, fontolja meg a bemeneti fájlok UTF-8-ra (BOM-val) való konvertálását, és/vagy a -cp:UTF-8 parancssori paraméter használatával a kétértelmű kódolás elkerülése érdekében.
  • TraceLoggingProvider.h frissítések:

    • Elkerüli az ütköző konfigurációs makrók által okozott egydefiníciós szabály (ODR) problémáit (például ha két, TLG_EVENT_WRITE_TRANSFER ütköző definícióval rendelkező .cpp fájl ugyanahhoz a bináris fájlhoz van csatolva, a TraceLoggingProvider.h segítői mostantól tiszteletben tartják az egyes .cpp fájlokban lévő TLG_EVENT_WRITE_TRANSFER definícióját ahelyett, hogy tetszőlegesen kiválasztanák az egyiket vagy a másikat).
    • A C++ kódban a TraceLoggingWrite makró frissült, hogy a variadikus sablonok használatával jobb kódmegosztást lehessen lehetővé tenni a hasonló események között.
  • Az alkalmazások aláírása. A Device Guard-aláírás a Microsoft Store Vállalati és Oktatási verzióban elérhető Device Guard-funkció, amely lehetővé teszi a vállalatok számára, hogy minden alkalmazás megbízható forrásból származzanak. Tekintse meg a Device Guard aláírásidokumentációját.

  • Az SDK-fejlécek frissültek az MSVC fordító cl.exe (/Zc:preprocesszor, a VS 2019 v16.6-ban bevezetett standard megfelelő C előprocesszor használata során felmerülő hibák elhárításához).

  • Javítva: "A GdiplusTypes.h nem a NOMINMAX-tal fordít". Lásd a Visual Studio visszajelzési.

  • Ha a /std:c11 vagy /std:c17 használatával épít, a következőt kapja:

    • C99 tgmath.h
    • C11 static_assert az assert.h fájlban
    • C11 stdalign.h
    • C11 stdnoreturn.h
  • Clang/LLVM for Windows v11 targeting ARM64 nem kompatibilis a legújabb winnt.h

    • Áthidaló megoldásként használja a Windows 10 SDK (19041-es build) előző verzióját, vagy a Windows v10-hez készült clang/LLVM-et ARM64-platformok megcélzásakor
  • A DirectXMath (beleértve a jelen kiadás 3.16-os verzióját is) nem kompatibilis a Clang/LLVM for Windows arm64-es verziójával.

  • Egyes fejlécfájlok esetében módosult a kis- és nagybetűket megkülönböztető fájlrendszerek esetében a normalizálásuk:

    • Az OAIdl.h, ObjIdl.h, ObjIdlbase.h, OCIdl.h, Ole2.h, OleAuto.h és OleCtl.h mind kisbetűsek voltak.
    • Windows-buildekhez készült Clang/LLVM esetén, ha a régebbi és a legújabb Windows 10 SDK-t is támogatja figyelmeztetések nélkül, adja hozzá -Wno-nonportable-system-include-path a parancssori felülethez, vagy a következő #pragma a forrásban:

    #ifdef __clang__

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

    #endif

Windows 10 SDK, 2004-es verzió karbantartási frissítés (megjelent: 2020. 12. 16.)

Ez a kiadás a következő fájlokat tartalmazza. Ha ezeket a problémákat tapasztalja, javasoljuk, hogy a lehető leghamarabb frissítse az SDK verzióját, hogy elkerülje őket:

  • Kiszámíthatatlan és nehezen diagnosztizálható összeomlások elhárítása az esernyőtárak és a natív operációsrendszer-kódtárak (például onecoreuap.lib és kernel32.lib) összekapcsolásakor
  • Megoldott probléma, amely megakadályozta az AppVerifier működését
  • Megoldottuk azt a hibát, amely miatt a WACK meghiúsult a "Feladat nem tudta engedélyezni a HighVersionLie-t"

További erőforrások