Windows SDK

A Windows 11 Windows SDK (10.0.22621) a legújabb fejléceket, kódtárakat, metaadatokat és eszközöket biztosítja a Windows-alkalmazások létrehozásához. Ezzel az SDK-val Univerzális Windows-platform (UWP) és Win32-alkalmazásokat hozhat létre Windows 11, 23H2-es és korábbi Windows-kiadásokhoz.

Tipp

Windows App SDK
A Windows-alkalmazás SDK az operációs rendszertől leválasztott és NuGet-csomagokon keresztül a fejlesztőknek kiadott API-k és eszközök egységes készletét biztosítja. Ezeket az API-kat és eszközöket konzisztens módon használhatja bármely asztali alkalmazás az Windows 11 és a Windows 10, 1809-es verzió.

Első lépések

A Windows SDK kétféleképpen szerezheti be: a letöltési hivatkozásra kattintva vagy a Visual Studio 2022 telepítőjének választható összetevői között válassza a "Windows 11 SDK (10.0.22621.0)" lehetőséget. Az SDK telepítése előtt:

Legutóbb frissítve: 2024. február

System requirements (Rendszerkövetelmények)

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

Támogatott operációs rendszerek

  • Windows 10 1507-es vagy újabb verzió: Otthoni, Szakmai, Oktatási és Nagyvállalati verzió (az LTSB és az S nem támogatott az UWP-ben)
  • 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-en és korábbi operációs rendszereken való telepítéshez a Windows univerzális C-futtatókörnyezetének frissítésére van szükség. A Windows Update keresztüli telepítéshez a Windows SDK telepítése előtt telepítse a Legújabb ajánlott frissítéseket és javításokat a Microsoft Update-ből.

Példák

A Windows-alkalmazásminták mostantól elérhetők a GitHubon keresztül. Böngészhet a GitHubon található 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ést, 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 az Univerzális Windows-platform (UWP) támogató asztali, mobil és jövőbeli eszközökön való futtatásra lettek tervezve.

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ív oldalon találhatók.

API – világos

Új API-k használatakor érdemes lehet adaptív módon írni az alkalmazást, hogy az megfelelően fusson a Windows-eszközök legszélesebb skálájá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, máskülönben azonban csak az észlelt platformverzión elérhető funkciókat kínálja. Az implementáció részleteiért tekintse meg az adaptív kód verzióval foglalkozó cikkét.

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

Windows 11, 10.0.22621.3235-ös build (megjelent: 2024.02.29.)

Karbantartási frissítés: 10.0.22621.3235.

Windows 11, 10.0.22621.2428-os build (megjelent: 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 közé tartoznak 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 nyújtsanak a Windows-felület megnyitott lapjairól.
  • Frissítések a HumanPresence API-kat a könnyű használat javítása érdekében, és új beállításokat adhat hozzá 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 Windows 11 22H2-es verziójához
  • 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ó
  • Az api-ms-win-net-isolation-l1-1-0.lib el lett távolítva. Az api-ms-win-net-isolation-l1-1-0.lib fájlhoz kapcsolt alkalmazások lecserélhetik a t OneCoreUAP.lib fájlt.

  • Az irprops.lib el lett távolítva. Az irprops.lib-hez kapcsolt alkalmazások a bthprops.lib fájlra válthatnak beugró csereként.

  • Áthelyezte az ENUM tagServerSelection elemet a wuapicommon.h fájlból a wupai.h fájlba, és eltávolította a fejlécet. Ha az ENUM tagServerSelection tulajdonságot szeretné használni, a wuapi.h vagy a wuapi.idl értéket kell megadnia.

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

  • A printf függvénycsalád mostantól megfelel az IEEE 754 kerekítési szabályainak , amikor pontosan ábrázolható lebegőpontos számokat nyomtat, és figyelembe veszi a fesetround hívásaival 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ásminősítő készlet. Számos új API lett hozzáadva a Támogatott API-k listájához az Alkalmazástanúsítvány-készletben és a Windows Áruházban. Ha a támogatott listában vannak olyan API-k, amelyek szürkén jelennek meg vagy le vannak tiltva a Visual Studióban, akkor a forrásfájlt kis módosítással érheti el. További részletekért tekintse meg ezt az 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ájtsorrend-jelet (BOM) a .mc fájlokban. Ha az .mc fájl UTF-8 BOM-val kezdődik, akkor UTF-8 fájlként lesz beolvasva. Ellenkező esetben, ha UTF-16LE BOM-val kezdődik, a rendszer UTF-16LE-fájlként olvassa be. Ha a -u paraméter meg lett adva, a rendszer UTF-16LE-fájlként olvassa be. 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édekben, amelyeket ütköző konfigurációs makrók okoznak (például ha két, ütköző MCGEN_EVENTWRITETRANSFER definícióval rendelkező .cpp fájl 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ájlokban lévő MCGEN_EVENTWRITETRANSFER definícióját ahelyett, hogy tetszőlegesen kiválasztanák az egyiket vagy a másikat).
  • A Windows Nyomkövetési előfeldolgozó (tracewpp.exe) frissítései:

    • Támogatja a Unicode-bemeneti (.ini, .tpl és forráskód) fájlokat. Az UTF-8 vagy UTF-16 bájtsorrendjellel (BOM) kezdődő bemeneti fájlok Unicode-ként lesznek beolvasva. A nem gépeléssel kezdődő bemeneti fájlokat a program az aktuális kódlapon (CP_ACP) olvassa be. A visszamenőleges kompatibilitás érdekében, ha a -UnicodeIgnore parancssori paraméter van megadva, az UTF-16 BOM-val kezdődő fájlok üresként lesznek kezelve.
    • Támogatja a Unicode-kimeneti (.tmh) fájlokat. A kimeneti fájlok alapértelmezés szerint az aktuális kódlapon (CP_ACP) 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-ban végzi a feldolgozást, és konvertálja a kimeneti szöveget a megadott kimeneti kódolásra. A tracewpp korábbi verziói elkerülték a Unicode-átalakításokat, és egy bájt 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 használja a -cp:UTF-8 parancssori paramétert a kódolás kétértelműségének elkerülése érdekében.
  • A TraceLoggingProvider.h frissítései:

    • Elkerüli az ütköző konfigurációs makrók által okozott egydefiníciós szabály (ODR) problémákat (például ha két, ütköző TLG_EVENT_WRITE_TRANSFER 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 egy eszközőr-funkció, amely Microsoft Store Vállalatoknak és Az oktatás területén érhető el, amely lehetővé teszi a vállalatok számára, hogy garantálják, hogy minden alkalmazás megbízható forrásból származik. Tekintse meg a Device Guard-aláírás dokumentációját.

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

  • Javítva: "A GdiplusTypes.h nem a NOMINMAX használatával áll össze". Lásd: Visual Studio Visszajelzés.

  • Ha az /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
  • Az ARM64-et megcélzó Windows v11-hez készült Clang/LLVM nem kompatibilis a legújabb winnt.h-val

    • Áthidaló megoldásként használja az Windows 10 SDK (19041-es build) vagy a windowsos v10-es clang/LLVM korábbi verzióját ARM64-platformok megcélzásakor
  • A DirectXMath (beleértve a jelen kiadás 3.16-os verzióját is) nem kompatibilis az ARM64-en futó Clang/LLVM rendszerrel.

  • Néhány fejlécfájl esete módosult, hogy normalizálja őket a kis- és nagybetűkre érzékeny fájlrendszerekhez:

    • 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 verziót é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ése (kiadás dátuma: 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 megoldása az esernyőtárak és a natív operációsrendszer-kódtárak (például a onecoreuap.lib és a kernel32.lib) összekapcsolásakor
  • Megoldódott a probléma, amely megakadályozta az AppVerifier működését
  • Kijavítottuk azt a hibát, amely miatt a WACK meghiúsult a következővel: "A feladat nem tudta engedélyezni a HighVersionLie-t"

További erőforrások