SDK do Windows

O SDK do Windows (10.0.22000) para Windows 11 fornece os cabeçalhos, as bibliotecas, os metadados e as ferramentas mais recentes para a criação de aplicativos do Windows. Use esse SDK para criar aplicativos UWP (Plataforma Universal do Windows) e Win32 para o Windows 11 e para as versões anteriores do Windows.

Introdução

Você pode obter o SDK do Windows 11 de duas maneiras: instalá-lo por meio desta página selecionando o link de download ou selecionar “SDK do Windows 10.0.22000 (2019)” nos componentes opcionais do Instalador do Visual Studio 2019.

Antes de instalar esse SDK:

  1. Examine todos os requisitos de sistema
  2. Saia do Visual Studio antes da instalação.
  3. Examine as Notas sobre a versão e os problemas conhecidos.
BAIXAR O INSTALADOR BAIXAR O .ISO Atualizado em 10/04/2021

Requisitos de sistema

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

Sistemas operacionais compatíveis

  • Desenvolvimento de aplicativos UWP (Plataforma Universal do Windows)
    • Windows 10 versão 1507 ou superior: Home, Professional, Education e Enterprise (não há suporte para LTSB e S)
    • Windows Server 2019, Windows Server 2016 e Windows Server 2012 R2 (Somente Linha de Comando)
  • Desenvolvimento de aplicativos Win32
    • Windows 10 versão 1507 ou superior
    • Windows Server 2019, Windows Server 2016 e Windows Server 2012 R2 (somente linha de comando)
    • Windows 8.1
    • Windows 7 SP1

(Nem todas as ferramentas são compatíveis com 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 de SDK adicionais

A instalação no Windows 8.1 e em sistemas operacionais anteriores exige o KB2999226. Para instalar por meio do Windows Update, certifique-se de instalar as atualizações e os patches mais recentes recomendados do Microsoft Update antes de instalar o SDK do Windows.

Novidades

O SDK do Windows para Windows 11 permite que você atualize seus aplicativos para a versão mais recente do sistema operacional Windows. Saiba mais sobre os novos recursos do Windows 11.

Para ver as novas APIs introduzidas com o Windows 11, confira Novas APIs no Windows 11 build 22000.

Recrie os binários do sistema operacional Windows 11 no ARM com ARM64EC para que qualquer código do sistema carregado por aplicativos x64 seja executado com velocidade nativa. Aproveite o ARM64EC para fazer a transição incremental de seu aplicativo para executá-lo com velocidade nativa no ARM, mesmo se você tiver dependências ou plug-ins que ainda não dão suporte ao ARM. Leia o comunicado.

Exemplos

Os exemplos de aplicativos do Windows agora estão disponíveis no GitHub. Você pode procurar o código no GitHub, clonar uma cópia pessoal do repositório no Git ou baixar um arquivo compactado de todas as amostras. Seus comentários são bem-vindos, portanto fique à vontade para abrir uma consulta no repositório se você tiver um problema ou uma dúvida. Esses exemplos são projetados para desktops, dispositivos móveis e futuros dispositivos compatíveis com a Plataforma Universal do Windows (UWP).

SDKs de versões anteriores

Os SDKs e emuladores lançados anteriormente, incluindo os detalhes sobre as atualizações, podem ser encontrados na página de arquivos.

API Light Up

Quando você usa novas APIs, considere a possibilidade de escrever seu app para ser adaptável e, assim, ser executado corretamente na matriz mais ampla de dispositivos Windows. Um aplicativo adaptável "brilha" com novos recursos onde quer que os dispositivos e a versão do Windows deem suporte a elas, mas, caso contrário, oferece apenas a funcionalidade disponível na versão da plataforma detectada. Para detalhes de implementação, leia o artigo sobre Código adaptável de versão.

Notas sobre a versão e problemas conhecidos

SDK do Windows 10, versão 2104

  • A biblioteca api-ms-win-net-isolation-l1-1-0.lib foi removida. Os aplicativos que estavam vinculados ao api-ms-win-net-isolation-l1-1-0.lib podem ser vinculados ao arquivo OneCoreUAP.lib como um substituto.
  • A biblioteca irprops.lib foi removida. Os aplicativos que estavam vinculados ao irprops.lib podem ser vinculados ao arquivo bthprops.lib como um substituto.
  • A enumeração tagServerSelection foi movida de wuapicommon.h para wupai.h e o cabeçalho foi removido. Se você quiser usar a enumeração tagServerSelection, será necessário incluir wuapi.h ou wuapi.idl.
  • O pacote Windows 10 WinRT API permite adicionar o suporte mais recente das APIs do Windows Runtime a seus aplicativos e bibliotecas do .NET Framework 4.5+ e .NET Core 3.0+. Para acessar o pacote Windows 10 WinRT API, confira o pacote nuget Microsoft.Windows.SDK.Contracts.
  • A família de funções de impressão agora está em conformidade com as regras de arredondamento IEEE 754 ao imprimir números de ponto flutuante reapresentáveis de modo preciso. Ela respeitará o modo de arredondamento solicitado por meio de chamadas para fesetround. O comportamento herdado está disponível após vinculação com legacy_stdio_float_rounding.obj.
  • Kit de Certificação de Aplicativos Windows. Várias APIs novas foram adicionadas à lista de APIs com suporte no Kit de Certificação de Aplicativos e na Microsoft Store. Se algumas APIs na lista com suporte estão aparecendo esmaecidas ou desabilitadas no Visual Studio, você pode fazer uma pequena alteração no arquivo de origem para acessá-las. Para obter mais detalhes, confira este problema conhecido. Encontre mais atualizações para os testes.
  • Atualizações do compilador de mensagens (mc.exe):
    • Agora ele detecta a BOM (marca de ordem de byte) Unicode em arquivos .mc. Se o arquivo .mc for iniciado com uma BOM UTF-8, ele será lido como um arquivo UTF-8. Caso contrário, se ele for iniciado com uma BOM UTF-16LE, ele será lido como um arquivo UTF-16LE. Se o parâmetro -u tiver sido 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 ele evita problemas de ODR (regra de definição única) em auxiliares C/C++ ETW gerados pelo MC causados por macros de configuração conflitantes (por exemplo, quando dois arquivos .cpp com definições conflitantes de MCGEN_EVENTWRITETRANSFER são vinculados ao mesmo binário, os auxiliares ETW gerados pelo MC agora respeitam a definição de MCGEN_EVENTWRITETRANSFER em cada arquivo .cpp em vez de escolher um ou outro arbitrariamente).
  • Atualizações de pré-processador de rastreamento do Windows (tracewpp.exe):
    • Dá suporte a arquivos de entrada Unicode (.ini, .tpl e código-fonte). Os arquivos de entrada iniciados com uma BOM (marca de ordem de byte) UTF-8 ou UTF-16 serão lidos como Unicode. Os arquivos de entrada não iniciados com uma BOM serão lidos usando a página de código atual (CP_ACP). Para manter a compatibilidade com versões anteriores, se o parâmetro de linha de comando -UnicodeIgnore for especificado, os arquivos iniciados com uma BOM UTF-16 serão tratados como vazios.
    • Dá suporte a 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 os parâmetros de linha de comando -cp:UTF-8 ou -cp:UTF-16 para gerar arquivos de saída Unicode.
    • Alteração de comportamento: o tracewpp agora converte todo o texto de entrada em Unicode, executa o processamento em Unicode e converte o texto de saída na codificação de saída especificada. As versões anteriores do tracewpp impediam as conversões Unicode e executavam o processamento de texto considerando 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. Quando isso causar problemas, considere a conversão dos arquivos de entrada em UTF-8 (com BOM) e/ou o uso do parâmetro de linha de comando -cp:UTF-8 para evitar ambiguidade de codificação.
  • Atualizações de TraceLoggingProvider.h:
    • Evita problemas de ODR (regra de definição única) causados por macros de configuração conflitantes (por exemplo, quando dois arquivos .cpp com definições conflitantes de TLG_EVENT_WRITE_TRANSFER são vinculados ao mesmo binário, os auxiliares TraceLoggingProvider.h agora respeitam a definição de TLG_EVENT_WRITE_TRANSFER em cada arquivo .cpp em vez de escolher um ou outro arbitrariamente).
    • No código C++, a macro TraceLoggingWrite foi atualizada para aprimorar o compartilhamento de código entre eventos semelhantes usando modelos variádicos.
  • Assinatura de seus aplicativos. A autenticação do Device Guard é um recurso do Device Guard que está disponível na Microsoft Store para Empresas e Educação, o que permite às empresas garantir que todos os aplicativos sejam provenientes de uma fonte confiável. Confira a documentação sobre a autenticação do Device Guard.
  • Os cabeçalhos do SDK foram atualizados para endereçar erros durante a compilação usando o pré-processador de C de maneira padrão no compilador do MSVC cl.exe (/Zc:preprocessor, introduzido no VS 2019 v16.6).
  • Corrigido: "GdiplusTypes.h não compila com NOMINMAX". Confira os comentários sobre o Visual Studio.
  • Ao compilar com /std:c11 ou /std:c17, agora 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 alternativa, use a versão anterior do SDK do Windows 10 (build 19041) ou Clang/LLVM para Windows v10 ao visar as plataformas ARM64
  • DirectXMath (incluindo a versão 3.16 nesta versão) não é compatível com Clang/LLVM para Windows no ARM64.
  • A configuração de maiúsculas e minúsculas de alguns arquivos de cabeçalho foi alterada para padronizá-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 todas feitas em minúsculas.
    • Para os builds do Clang/LLVM para Windows, para dar suporte a versões mais antigas e ao SDK do Windows 10 mais recente sem avisos, adicione "-Wno-nonportable-system-include-path" à CLI ou os seguintes #pragma na origem:

      #ifdef __clang__
      #pragma clang disgnóstico ignorado "-Wnonportable-system-include-path"
      #endif

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

    Esta versão contém os arquivos a seguir. Se você encontrar estes problemas, recomendamos que atualize sua versão do SDK assim que possível para evitá-los:
  • Falhas imprevisíveis e difíceis de diagnosticar foram resolvidas ao vincular bibliotecas abrangentes e bibliotecas de sistemas operacionais nativos (por exemplo, onecoreuap.lib e kernel32.lib)
  • O problema que impedia o AppVerifier de funcionar foi resolvido
  • O problema que causava a falha de WACK com "A tarefa falhou ao habilitar HighVersionLie" foi resolvido

Fornecer comentários

Para problemas conhecidos, consulte as perguntas e respostas sobre winapi-sdk.

As novas solicitações de recursos de desenvolvedor devem ser enviadas por meio do aplicativo Hub de Comentários na categoria “Plataforma do Desenvolvedor/API”.

Mais recursos

Downloads e ferramentas

Obtenha as edições mais recentes do Visual Studio e das ferramentas de desenvolvimento do Windows 10.

SAIBA MAIS

Arquivo do SDK

Encontre versões anteriores do SDK do Windows e outras ferramentas.

VEJA ARQUIVO MORTO

Blog do Windows

Fique por dentro das versões de pré-lançamento mais recentes do SDK assinando nosso blog.

RECEBA NOVIDADES SOBRE AS VERSÕES DE PRÉ-LANÇAMENTO DO SDK

Ficha informativa do ciclo de vida do Windows

Encontre as principais datas para as atualizações de versão do Windows e o fim do suporte.

VER A FICHA INFORMATIVA