Windows SDK

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.

Pobierz > instalatora

Ostatnia aktualizacja: wrzesień 2024 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 Windows 8.1 i starszych systemach operacyjnych wymaga aktualizacji środowiska uruchomieniowego uniwersalnego 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 adaptacyjnego kodu.

Informacje o wersji i znane problemy

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 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 visual studio feedback.

  • 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