Pakiet SDK dla Windows

Zestaw Windows SDK (10.0.26100) dla systemu Windows 11 udostępnia najnowsze nagłówki, biblioteki, metadane i narzędzia do tworzenia aplikacji systemu Windows. Ten zestaw SDK umożliwia tworzenie aplikacji platformy uniwersalnej systemu Windows (UWP) i Win32 dla systemu Windows 11 w wersji 24H2 i poprzednich wersjach systemu Windows.

Napiwek

Zestaw SDK aplikacji systemu Windows
Zestaw SDK aplikacji systemu Windows udostępnia ujednolicony zestaw interfejsów API i narzędzi, które są oddzielone od systemu operacyjnego i udostępniane deweloperom za pośrednictwem pakietów NuGet. Te interfejsy API i narzędzia mogą być używane w spójny sposób przez dowolną aplikację klasyczną w systemie Windows 11 i obniżyć poziom do systemu Windows 10 w wersji 1809.

Wprowadzenie

Zestaw Windows SDK można uzyskać na dwa sposoby: zainstaluj go na tej stronie, wybierając link pobierania lub wybierając pozycję "Zestaw SDK systemu Windows 11 (10.0.26100.0)" w opcjonalnych składnikach Instalatora programu Visual Studio 2022. Przed zainstalowaniem tego zestawu SDK:

  • Przejrzyj wszystkie wymagania systemowe
  • Zamknij program Visual Studio przed instalacją.
  • Przejrzyj informacje o wersji i znane problemy poniżej, aby uzyskać najnowsze aktualizacje.

Ostatnia aktualizacja: maj 2025 r.

Wymagania systemowe

Zestaw Windows SDK ma następujące minimalne wymagania systemowe:

Obsługiwane systemy operacyjne

  • Windows 11, wersja 21h2 lub nowsza: Home, Pro, Education i Enterprise (LTSC nie jest obsługiwany dla platformy UWP)
  • System Windows 10 w wersji 1507 lub nowszej: Home, Pro, Education i Enterprise (tryb LTSB/LTSC i S nie jest obsługiwany dla platformy UWP)
  • Windows Server 2022, Windows Server 2019, Windows Server 2016 i Windows Server 2012 R2 (tylko wiersz polecenia)
  • Windows 8.1
  • Windows 7 SP1

(Nie wszystkie narzędzia są obsługiwane we wcześniejszych systemach operacyjnych)

Wymagania sprzętowe

  • Procesor 1,6 GHz lub szybszy
  • 1 GB pamięci RAM
  • 4 GB dostępnego miejsca na dysku twardym

Dodatkowe wymagania dotyczące zestawu SDK

Instalacja w systemie Windows 8.1 i starszych systemach operacyjnych wymaga aktualizacji uniwersalnego środowiska uruchomieniowego języka C w systemie Windows. Aby zainstalować usługę Windows Update, przed zainstalowaniem zestawu Windows SDK upewnij się, że zainstalowano najnowsze zalecane aktualizacje i poprawki z usługi Microsoft Update.

Próbki

Przykłady aplikacji systemu Windows są teraz dostępne za pośrednictwem usługi GitHub. Możesz przeglądać kod w witrynie GitHub, sklonować osobistą kopię repozytorium z repozytorium Git lub pobrać spakowane archiwum wszystkich przykładów. Zachęcamy do przesyłania opinii, więc możesz otworzyć problem w repozytorium, jeśli masz problem lub pytanie. Te przykłady są przeznaczone do uruchamiania na komputerach, urządzeniach przenośnych i przyszłych urządzeniach obsługujących platformę uniwersalną systemu Windows (UWP).

Poprzednie wersje zestawu SDK

Wcześniej wydane zestawy SDK i emulatory, w tym szczegóły aktualizacji, można znaleźć na stronie archiwum .

API Light Up

Jeśli używasz nowych interfejsów API, rozważ napisanie aplikacji, aby była adaptacyjna, aby była ona uruchamiana poprawnie na najszerszej tablicy urządzeń z systemem Windows. Aplikacja adaptacyjna "zapala się" z nowymi funkcjami, gdzie tylko urządzenia i wersja systemu Windows je obsługują, ale w przeciwnym razie oferuje tylko funkcje dostępne w wykrytej wersji platformy. Aby uzyskać szczegółowe informacje o implementacji, zobacz artykuł Wersja kodu adaptacyjnego.

Informacje o wersji i znane problemy

Windows 11, Build 10.0.26100.4188 (wydana 5/2025)

Dodano lub zaktualizowano nowe interfejsy API do następujących przestrzeni nazw WinRT:

  • Windows.AI.Actions
  • Windows.AI.ModelContextProtocol (eksperymentalna)
  • Windows.ApplicationModel.Background.Bluetooth
  • Windows.Devices.Bluetooth
  • Windows.UI.ViewManagement

Dodano nowe interfejsy API do następujących nagłówków Win32:

  • http.h
    • HttpQueryRequestProperty
  • ntlsa.h
    • LsaSetLocalSystemAccess
    • LsaQueryLocalSystemAccess
    • LsaQueryLocalSystemAccessAll
  • WinUser.h
    • ConvertToInterceptWindow
    • IsInterceptWindow
    • ZastosujwindowAction
    • RegisterCloakedNotification
    • EnterMoveSizeLoop

Aktualizacje nagłówków CRT Win32:

  • corecrt_search.h
  • wchar.h

Aktualizacje wprowadzone w następujących nagłówkach interfejsu API Win32, dodając nowe definicje, struktury i wyliczenia:

  • CertSrv.h
  • codecapi.h
  • dwmapi.h
  • MDMRegistration.h
  • mfapi.h
  • ntddvdeo.h
  • NTSecAPI.h
  • NTSecPKG.h
  • ntstatus.h
  • overridecapabilities.h
  • Propkey.h
  • WindowsSearchErrors.h
  • Winldap.h
  • rpcndr.h
  • winerror.h

Dodano nowy nagłówek interfejsu API Win32:

  • ModelContextProtocolHelpers.h

Dodano eksperymentalne interfejsy API do następujących nagłówków interfejsu API Win32:

  • webauthn.h
  • WinBio.h
  • winbio_types.h
Windows 11, Build 10.0.26100.3916 (wydana 4/2025)

Dodano nowe interfejsy API do przestrzeni nazw windows.ui.viewmanagement WinRT w celu obsługi preferowanego elementu UserInteractionMode użytkownika.

Dodano obsługę wyszukiwania semantycznego do nagłówka interfejsu API searchapi.h Win 32.

Dodano nowy nagłówek interfejsu API GamingExperience Win32.

Dodano nowe interfejsy API do następujących nagłówków Win32:

  • dcomp.h
  • http.h
  • ntsecpkg.h
  • winioctl.h
Windows 11, Build 10.0.26100.3624 (wydanie 3/2025)

Dodano obsługę tabletu gamepad do wyliczenia CoreInputViewKind w przestrzeni nazw windows.ui.viewmanagement.core WinRT.

Dodano nowe interfejsy API do następujących nagłówków Win32:

  • fileapi.h
  • ntlsa.h
  • shobjidl_core.h
  • softintrin.h
  • webauthn.h
  • webservices.h
  • winenclaveapi.h
  • winnt.h
Windows 11, Build 10.0.26100.3323 (wydanie 2/2025)

Zmieniono nazwę interfejsów API WinRT PrivacyScreen dodanych do przestrzeni nazw windows.devices.sensors w poprzedniej kompilacji. Są to teraz interfejsy API OnlookerDetection.

Windows 11, Build 10.0.26100.3037 (wydanie 01/2025)

Dodano nowe interfejsy API WinRT w przestrzeni nazw windows.devices.sensors :

  • PrivacyScreenOptions, klasa.
  • HumanPresenceSettings.PrivacyScreenOptions, metoda.
  • LightSensor.IsChromaticitySupported, metoda.
  • Dodano również nowe właściwego i struktury w celu obsługi tych metod.

Interfejsy API eksperymentalne zostały zmienione w następującym nagłówku Win32 (pamiętaj, że interfejsy API ekspertów nie powinny być używane w środowisku produkcyjnym):

  • webauthn.h
Windows 11, Build 10.0.26100.2454 (wydana 01/2025)

Wprowadzono główne dodatki lub zmiany w następujących nagłówkach Win32:

  • windows.applicationmodel.background.h: dodano wiele interfejsów API związanych z połączeniem Bluetooth.
  • windows.applicationmodel.calls.h: dodano wiele interfejsów API konfiguracji wywołań VOIP.

Wiele eksperymentalnych interfejsów API zostało dodanych do następującego nagłówka Win32 (pamiętaj, że eksperymentalne interfejsy API nie powinny być używane w środowisku produkcyjnym):

  • webauthn.h

Dodano lub zmodyfikowano następujące interfejsy API win32:

certsrv.h:

  • CRL_BUILD_PROPID
  • CRL_EXTRACT_KEY_INDEX
  • CRL_EXTRACT_PARTITION_INDEX

clusapi.h:

  • NodeSriovInfo

combaseapi.h:

  • STDMETHOD_CHPE_PATCHABLE

d2d11.h:

  • d3d11. D3D11_FEATURE_DATA_D3D11_OPTIONS6

filter.h:

  • IPixelFilter
  • IPixelFilter.GetImageInfo
  • IPixelFilter.GetPixelsForImage
  • IMAGE_INFO
  • IPixelFilterVtbl

http.h:

  • _HTTP_REQUEST_TRANSPORT_IDLE_CONNECTION_TIMEOUT_INFO

msclus.h:

  • NodeSriovInfo

ntsecapi.h:

  • _KERB_CHANGEMACHINEPASSWORD_REQUEST

winenclaveapi.h:

  • EnklawaEncryptDataForTrustlet
  • EnklawaUsesAttestKeys

winnt.h:

  • STDAPI_CHPE_PATCHABLE_

winuser.h:

  • GetCurrentMonitorTopologyId

Postępuj zgodnie z najlepszymi rozwiązaniami, aby upewnić się, że interfejs API jest dostępny na maszynie przed wywołaniem.

Windows 11, Build 10.0.26100.1742 (wydany 9/24/2024)

Wydanie odpowiadające publicznej wersji 24h2 systemu Windows 11.

Windows 11, Build 10.0.26100 (wydana 5.22.2024)

Początkowa wersja serii 10.0.26100 odpowiadająca systemowi Windows 11 w wersji 24h2 (wersja zapoznawcza).

Windows 11, Build 10.0.22621.3235 (wydanie 2/29/2024)

Aktualizacja obsługi 10.0.22621.3235.

Windows 11, Build 10.0.22621.2428 (wydany 10/24/2023)

Aktualizacja obsługi 10.0.22621.2428.

Windows 11, wersja 22H2, kompilacja 10.0.22621.1778

Aktualizacja 10.0.22621.1778. Wyróżnione funkcje obejmują:

  • Interfejsy API WindowTabManager umożliwiają aplikacjom z interfejsami z kartami udostępnianie informacji na otwartych kartach w powłoce systemu Windows.
  • Aktualizacje interfejsów API HumanPresence w celu zwiększenia łatwości użycia i dodania nowych ustawień dla czujników, które obsługują możliwości ludzkiej obecności.
  • Interfejsy API RemoteDesktop umożliwiają aplikacjom przełączanie się między pulpitem zdalnym i lokalnym.
Zestaw Windows SDK dla systemu Windows 11 w wersji 22H2
  • Aktualizacja obsługi 10.0.22621.755. Obejmuje obsługę arm64 dla wersji VS 17.4
Windows 10 SDK, wersja 2104
  • Usunięto interfejs API-ms-win-net-isolation-l1-1-0.lib. Aplikacje, które łączyły się z interfejsem API-ms-win-net-isolation-l1-1-0.lib, mogą przełączyć bibliotekę t OneCoreUAP.lib jako zamiennik.

  • Usunięto plik irprops.lib. Aplikacje, które łączyły się z plikami irprops.lib, mogą przełączyć się na plik bthprops.lib jako zamiennik drop-in.

  • Przeniesiono tag ENUMServerSelection z pliku wuapicommon.h do pliku wupai.h i usunięto nagłówek. Jeśli chcesz użyć tagu ENUMServerSelection, musisz dołączyć plik wuapi.h lub wuapi.idl.

  • Pakiet API Api Pack systemu Windows 10 WinRT umożliwia dodanie najnowszych interfejsów API środowiska uruchomieniowego systemu Windows do bibliotek i aplikacji .NET Framework 4.5+ i .NET Core 3.0+ . Aby uzyskać dostęp do pakietu Api Pack systemu Windows 10 WinRT, zobacz pakiet nuget Microsoft.Windows.SDK.Contracts.

  • Rodzina funkcji printf jest teraz zgodna z regułami zaokrąglania IEEE 754 podczas drukowania dokładnie reprezentujących liczby zmiennoprzecinkowe i będzie honorować tryb zaokrąglania żądany za pośrednictwem wywołań do fesetround. Starsze zachowanie jest dostępne podczas łączenia z legacy_stdio_float_rounding.obj.

  • Zestaw certyfikacji aplikacji systemu Windows. Kilka nowych interfejsów API zostało dodanych do listy Obsługiwane interfejsy API w zestawie certyfikacji aplikacji i sklepie Windows Store. Jeśli na liście obsługiwanych są interfejsy API, które są wyświetlane jako wyszarzone lub wyłączone w programie Visual Studio, możesz wprowadzić niewielką zmianę w pliku źródłowym, aby uzyskać do nich dostęp. Aby uzyskać więcej informacji, zobacz ten znany problem. Znajdź więcej aktualizacji testów.

  • Aktualizacje kompilatora komunikatów (mc.exe):

    • Teraz wykrywa znak kolejności bajtów Unicode (BOM) w plikach .mc. Jeśli plik .mc rozpoczyna się od modelu UTF-8 BOM, będzie on odczytywany jako plik UTF-8. W przeciwnym razie, jeśli rozpoczyna się od utF-16LE BOM, zostanie odczytany jako plik UTF-16LE. Jeśli określono parametr -u, będzie on odczytywany jako plik UTF-16LE. W przeciwnym razie będzie odczytywany przy użyciu bieżącej strony kodowej (CP_ACP).
    • Teraz pozwala uniknąć problemów z regułą jednej definicji (ODR) w pomocnikach ETW generowanych przez mc/C++ spowodowanych konfliktem makr konfiguracji (np. gdy dwa pliki .cpp z definicjami powodujących konflikty MCGEN_EVENTWRITETRANSFER są połączone z tym samym plikiem binarnym, pomocnicy ETW generowane przez mc będą teraz uwzględniać definicję MCGEN_EVENTWRITETRANSFER w każdym pliku .cpp zamiast arbitralnie wybierać jeden lub drugi).
  • Aktualizacje preprocesora śledzenia systemu Windows (tracewpp.exe):

    • Obsługuje pliki wejściowe Unicode (.ini, .tpl i kod źródłowy). Pliki wejściowe rozpoczynające się od utF-8 lub UTF-16 byte order mark (BOM) będą odczytywane jako Unicode. Pliki wejściowe, które nie rozpoczynają się od modelu BOM, będą odczytywane przy użyciu bieżącej strony kodowej (CP_ACP). W przypadku zgodności z poprzednimi wersjami, jeśli określono -UnicodeIgnore parametru wiersza polecenia, pliki rozpoczynające się od modelu BOM UTF-16 będą traktowane jako puste.
    • Obsługuje pliki wyjściowe Unicode (tmh). Domyślnie pliki wyjściowe będą kodowane przy użyciu bieżącej strony kodowej (CP_ACP). Użyj parametrów wiersza polecenia -cp:UTF-8 lub -cp:UTF-16, aby wygenerować pliki wyjściowe Unicode.
    • Zmiana zachowania: tracewpp konwertuje teraz cały tekst wejściowy na Unicode, wykonuje przetwarzanie w formacie Unicode i konwertuje tekst wyjściowy na określone kodowanie wyjściowe. Wcześniejsze wersje tracewpp unikały konwersji Unicode i przetwarzały tekst przy założeniu, że zestaw znaków jednobajtowych. Może to prowadzić do zmian zachowania w przypadkach, gdy pliki wejściowe nie są zgodne z bieżącą stroną kodową. W przypadkach, gdy jest to problem, rozważ przekonwertowanie plików wejściowych na UTF-8 (z modelem BOM) i/lub użycie parametru wiersza polecenia -cp:UTF-8, aby uniknąć niejednoznaczności kodowania.
  • Aktualizacje TraceLoggingProvider.h:

    • Pozwala uniknąć problemów z regułą jednodefiniowania (ODR) spowodowanych konfliktem makr konfiguracji (np. gdy dwa pliki .cpp z definicjami powodującymi konflikty TLG_EVENT_WRITE_TRANSFER są połączone z tym samym plikiem binarnym, pomocnicy TraceLoggingProvider.h będą teraz uwzględniać definicję TLG_EVENT_WRITE_TRANSFER w każdym pliku .cpp zamiast arbitralnie wybierać jedno lub drugie).
    • W kodzie języka C++ makro TraceLoggingWrite zostało zaktualizowane, aby umożliwić lepsze udostępnianie kodu między podobnymi zdarzeniami przy użyciu szablonów wariadycznych.
  • Podpisywanie aplikacji. Podpisywanie funkcji Device Guard to funkcja Funkcji Device Guard, która jest dostępna w sklepie Microsoft Store dla firm i instytucji edukacyjnych, co pozwala przedsiębiorstwom zagwarantować, że każda aplikacja pochodzi z zaufanego źródła. Zapoznaj się z dokumentacją dotyczącą podpisywania funkcji Device Guard.

  • Nagłówki zestawu SDK zostały zaktualizowane w celu rozwiązania błędów podczas kompilowania przy użyciu standardowego preprocesora języka C w kompilatorze MSVC cl.exe (/Zc:preprocessor, wprowadzony w programie VS 2019 w wersji 16.6).

  • Naprawiono: "GdiplusTypes.h nie kompiluje się z NOMINMAX". Zobacz Opinie dotyczące programu Visual Studio.

  • Podczas kompilowania za pomocą polecenia /std:c11 lub /std:c17 uzyskasz teraz:

    • C99 tgmath.h
    • C11 static_assert w pliku assert.h
    • C11 stdalign.h
    • C11 stdnoreturn.h
  • Maszyny Clang/LLVM dla systemu Windows w wersji 11 przeznaczonej dla usługi ARM64 nie są zgodne z najnowszą wersją winnt.h

    • Aby obejść ten problem, użyj poprzedniej wersji zestawu Windows 10 SDK (kompilacja 19041) lub clang/LLVM dla systemu Windows w wersji 10 podczas określania platform ARM64
  • DirectXMath (w tym wersja 3.16 w tej wersji) nie jest zgodna z językiem Clang/LLVM dla systemu Windows w usłudze ARM64.

  • Przypadek niektórych plików nagłówkowych został zmieniony w celu normalizacji ich w przypadku systemów plików z uwzględnieniem wielkości liter:

    • OAIdl.h, ObjIdl.h, ObjIdlbase.h, OCIdl.h, Ole2.h, OleAuto.h i OleCtl.h, wszystkie zostały wykonane małymi literami.
    • W przypadku kompilacji Clang/LLVM dla systemu Windows, aby obsługiwać zarówno starszą wersję, jak i najnowszy zestaw SDK systemu Windows 10 bez ostrzeżeń, dodaj -Wno-nonportable-system-include-path do interfejsu wiersza polecenia lub następujące #pragma w źródle:

    #ifdef __clang__

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

    #endif

Windows 10 SDK, aktualizacja obsługi wersji 2004 (wydana 12.16.2020)

Ta wersja zawiera następujące pliki. Jeśli wystąpią te problemy, zalecamy jak najszybsze zaktualizowanie wersji zestawu SDK, aby uniknąć ich:

  • Rozwiązano nieprzewidywalne i trudne do zdiagnozowania awarii podczas łączenia bibliotek parasolowych i natywnych bibliotek systemu operacyjnego (na przykład onecoreuap.lib i kernel32.lib)
  • Rozwiązano problem uniemożliwiający działanie elementu AppVerifier
  • Rozwiązano problem, który spowodował niepowodzenie usługi WACK z komunikatem "Zadanie nie powiodło się, aby włączyć funkcję HighVersionLie"

Więcej zasobów