Windows SDK

O SDK do Windows (10.0.26100) para Windows 11 fornece os cabeçalhos, bibliotecas, metadados e ferramentas mais recentes para criar aplicativos do Windows. Use este SDK para criar aplicativos da Plataforma Universal do Windows (UWP) e Win32 para Windows 11, versão 24H2 e versões anteriores do Windows.

Dica

SDK de Aplicativo Windows
O SDK do Aplicativo Windows fornece um conjunto unificado de APIs e ferramentas que são dissociadas do sistema operacional e liberadas para desenvolvedores por meio de pacotes NuGet. Essas APIs e ferramentas podem ser usadas de forma consistente por qualquer aplicativo de área de trabalho no Windows 11 e no nível inferior para o Windows 10, versão 1809.

Primeiros passos

Você pode obter o SDK do Windows de duas maneiras: instalá-lo a partir desta página selecionando o link de download ou selecionando "SDK do Windows 11 (10.0.26100.0)" nos componentes opcionais do Visual Studio 2022 Installer. Antes de instalar este SDK:

  • Revise todos os requisitos de sistema
  • Saia do Visual Studio antes da instalação.
  • Reveja as notas de versão e os problemas conhecidos.

Faça o download do > do instalador

Última atualização: setembro de 2024

Requisitos do sistema

O SDK do Windows tem os seguintes requisitos mínimos de sistema:

Sistemas operativos suportados

  • Windows 11, versão 21h2 ou superior: Home, Pro, Education e Enterprise (LTSC não é suportado para UWP)
  • Windows 10, versão 1507 ou superior: Home, Pro, Education e Enterprise (os modos LTSB/LTSC e S não são suportados para UWP)
  • Windows Server 2022, Windows Server 2019, Windows Server 2016 e Windows Server 2012 R2 (somente linha de comando)
  • Windows 8.1
  • Janelas 7 SP1

(Nem todas as ferramentas são suportadas em sistemas operacionais anteriores)

Requisitos de hardware

  • Processador de 1,6 GHz ou mais rápido
  • 1 GB de RAM
  • 4 GB de espaço disponível no disco rígido

Requisitos adicionais do SDK

A instalação em sistemas operacionais Windows 8.1 e anteriores requer uma Atualização para Tempo de Execução Universal C no Windows. Para instalar através do Windows Update, certifique-se de que instala as atualizações e patches recomendados mais recentes do Microsoft Update antes de instalar o SDK do Windows.

Amostras

Os exemplos de aplicativos do Windows agora estão disponíveis por meio GitHub. Você pode navegar pelo código no GitHub, clonar uma cópia pessoal do repositório do Git ou fazer download um arquivo compactado de todas as amostras. Agradecemos feedback, então sinta-se à vontade para abrir um problema dentro do repositório se você tiver um problema ou pergunta. Esses exemplos são projetados para serem executados em desktops, dispositivos móveis e futuros que oferecem suporte à Plataforma Universal do Windows (UWP).

Versões anteriores do SDK

SDKs e emuladores lançados anteriormente, incluindo detalhes de atualização, podem ser encontrados na página de arquivo .

API Light Up

Ao usar novas APIs, considere escrever seu aplicativo para ser adaptável para que seja executado corretamente na maior variedade de dispositivos Windows. Um aplicativo adaptável "acende" com novos recursos onde quer que os dispositivos e a versão do Windows os suportem, mas oferece apenas a funcionalidade disponível na versão da plataforma detetada. Para obter detalhes de implementação, consulte o artigo Código adaptável da Versão .

Notas de versão e problemas conhecidos

Windows 11, Build 10.0.26100.1742 (lançado em 24/09/2024)

Lançamento para corresponder ao Windows 11, versão 24h2 lançamento público.

Windows 11, Build 10.0.26100 (lançado em 22/05/2024)

Lançamento inicial da série 10.0.26100, para corresponder ao Windows 11, versão 24h2 preview.

Windows 11, Build 10.0.22621.3235 (lançado em 29/02/2024)

Atualização de manutenção 10.0.22621.3235.

Windows 11, Build 10.0.22621.2428 (lançado em 24/10/2023)

Atualização de manutenção 10.0.22621.2428.

Windows 11, Versão 22H2, Build 10.0.22621.1778

Atualização 10.0.22621.1778. Os recursos destacados incluem:

  • As APIs do WindowTabManager permitem que aplicativos com interfaces com guias forneçam informações sobre guias abertas para o shell do Windows.
  • Atualizações das APIs do HumanPresence para melhorar a facilidade de uso e adicionar novas configurações para sensores que suportam recursos de presença humana.
  • As APIs do RemoteDesktop permitem que os aplicativos alternem entre uma área de trabalho remota e local.
SDK do Windows para Windows 11, versão 22H2
  • Atualização de manutenção 10.0.22621.755. Inclui suporte ARM64 para a versão VS 17.4
Windows 10 SDK, Versão 2104
  • Removido api-ms-win-net-isolation-l1-1-0.lib. Os aplicativos que estavam vinculando contra api-ms-win-net-isolation-l1-1-0.lib podem alternar t OneCoreUAP.lib como um substituto.

  • Removido irprops.lib. Os aplicativos que estavam vinculando irprops.lib podem alternar para bthprops.lib como um substituto drop-in.

  • Movido ENUM tagServerSelection de wuapicommon.h para wupai.h e removido o cabeçalho. Se você gostaria de usar o ENUM tagServerSelection, você precisará incluir wuapi.h ou wuapi.idl.

  • O Windows 10 WinRT API Pack permite adicionar o suporte mais recente a APIs do Tempo de Execução do Windows às bibliotecas e aplicativos do .NET Framework 4.5+ e .NET Core 3.0+. Para acessar o Windows 10 WinRT API Pack, consulte o pacote nuget Microsoft.Windows.SDK.Contracts.

  • A família de funções printf agora está em conformidade com as regras de arredondamento IEEE 754 ao imprimir números de vírgula flutuante exatamente representáveis e honrará o modo de arredondamento solicitado por meio de chamadas para fesetround. O comportamento herdado está disponível ao vincular com legacy_stdio_float_rounding.obj.

  • Kit de Certificação de Aplicativos Windows. Várias novas APIs foram adicionadas à lista APIs Suportadas no Kit de Certificação de Aplicações e na Loja Windows. Se houver APIs na lista com suporte que aparecem acinzentadas ou desabilitadas no Visual Studio, você pode fazer uma pequena alteração no arquivo de origem para acessá-las. Para obter mais detalhes, consulte este problema conhecido. Encontre mais atualizações para testes.

  • Atualizações do Message Compiler (mc.exe):

    • Agora deteta a marca de ordem de bytes Unicode (BOM) em arquivos .mc. Se o arquivo .mc começar com uma lista técnica UTF-8, ele será lido como um arquivo UTF-8. Caso contrário, se ele começar com uma lista técnica UTF-16LE, ele será lido como um arquivo UTF-16LE. Se o parâmetro -u foi especificado, ele será lido como um arquivo UTF-16LE. Caso contrário, ele será lido usando a página de código atual (CP_ACP).
    • Agora evita problemas de uma regra de definição (ODR) em auxiliares ETW C/C++ gerados por MC causados por macros de configuração conflitantes (por exemplo, quando dois arquivos .cpp com definições conflitantes de MCGEN_EVENTWRITETRANSFER estão vinculados ao mesmo binário, os auxiliares ETW gerados por MC agora respeitarão a definição de MCGEN_EVENTWRITETRANSFER em cada arquivo .cpp em vez de escolher arbitrariamente um ou outro).
  • Atualizações do Pré-processador de Rastreamento do Windows (tracewpp.exe):

    • Suporta arquivos de entrada Unicode (.ini, .tpl e código-fonte). Os arquivos de entrada que começam com uma marca de ordem de bytes (BOM) UTF-8 ou UTF-16 serão lidos como Unicode. Os arquivos de entrada que não começam com uma lista técnica serão lidos usando a página de código atual (CP_ACP). Para compatibilidade com versões anteriores, se o parâmetro de linha de comando -UnicodeIgnore for especificado, os arquivos que começam com uma lista técnica UTF-16 serão tratados como vazios.
    • Suporta arquivos de saída Unicode (.tmh). Por padrão, os arquivos de saída serão codificados usando a página de código atual (CP_ACP). Use parâmetros de linha de comando -cp:UTF-8 ou -cp:UTF-16 para gerar arquivos de saída Unicode.
    • Mudança de comportamento: tracewpp agora converte todo o texto de entrada em Unicode, executa o processamento em Unicode e converte o texto de saída para a codificação de saída especificada. Versões anteriores do tracewpp evitavam conversões Unicode e executavam processamento de texto assumindo um conjunto de caracteres de byte único. Isso pode levar a alterações de comportamento nos casos em que os arquivos de entrada não estão em conformidade com a página de código atual. Nos casos em que isso for um problema, considere converter os arquivos de entrada para UTF-8 (com BOM) e/ou usar o parâmetro de linha de comando -cp:UTF-8 para evitar ambiguidade de codificação.
  • Atualizações do TraceLoggingProvider.h:

    • Evita problemas de uma regra de definição (ODR) causados por macros de configuração conflitantes (por exemplo, quando dois arquivos .cpp com definições conflitantes de TLG_EVENT_WRITE_TRANSFER estão vinculados ao mesmo binário, os auxiliares do TraceLoggingProvider.h agora respeitarão a definição de TLG_EVENT_WRITE_TRANSFER em cada arquivo .cpp em vez de escolher arbitrariamente um ou outro).
    • No código C++, a macro TraceLoggingWrite foi atualizada para permitir um melhor compartilhamento de código entre eventos semelhantes usando modelos variádicos.
  • Assinar as suas aplicações. A assinatura do Device Guard é um recurso do Device Guard disponível na Microsoft Store para Empresas e Educação, que permite que as empresas garantam que todos os aplicativos vêm de uma fonte confiável. Consulte a documentação do sobre o Device Guard Signing.

  • Os cabeçalhos SDK foram atualizados para corrigir erros ao compilar usando o pré-processador C compatível com o padrão no cl.exe do compilador MSVC (/Zc:preprocessor, introduzido no VS 2019 v16.6).

  • Corrigido: "GdiplusTypes.h não compila com NOMINMAX". Consulte Comentários do Visual Studio.

  • Ao construir com /std:c11 ou /std:c17, você obtém:

    • C99 tgmath.h
    • C11 static_assert em assert.h
    • C11 stdalign.h
    • C11 stdnoreturn.h
  • Clang/LLVM para Windows v11 visando ARM64 não é compatível com o winnt.h mais recente

    • Como solução alternativa, use a versão anterior do SDK do Windows 10 (compilação 19041) ou clang/LLVM para Windows v10 ao direcionar plataformas ARM64
  • DirectXMath (incluindo a versão 3.16 nesta versão) não é compatível com Clang/LLVM para Windows no ARM64.

  • O caso de alguns arquivos de cabeçalho foram alterados, para normalizá-los para sistemas de arquivos que diferenciam maiúsculas de minúsculas:

    • OAIdl.h, ObjIdl.h, ObjIdlbase.h, OCIdl.h, Ole2.h, OleAuto.h e OleCtl.h foram todos feitos em minúsculas.
    • Para compilações do Clang/LLVM para Windows, para oferecer suporte à versão mais antiga e ao SDK mais recente do Windows 10 sem avisos, adicione -Wno-nonportable-system-include-path à CLI ou aos seguintes #pragma na origem:

    #ifdef __clang__

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

    #endif

Atualização de serviço do SDK do Windows 10, Versão 2004 (lançada em 16/12/2020)

Esta versão contém os seguintes ficheiros. Se você encontrar esses problemas, recomendamos que atualize sua versão do SDK o mais rápido possível para evitá-los:

  • Resolvidas falhas imprevisíveis e difíceis de diagnosticar ao vincular bibliotecas guarda-chuva e bibliotecas nativas do sistema operacional (por exemplo, onecoreuap.lib e kernel32.lib)
  • Resolvido o problema que impedia o AppVerifier de funcionar
  • Resolvido o problema que fazia com que o WACK falhasse com "Falha na tarefa ao ativar HighVersionLie"

Mais recursos