Pasta Sysnative no Windows de 64 bits explicada

Índice:

Pasta Sysnative no Windows de 64 bits explicada
Pasta Sysnative no Windows de 64 bits explicada

Vídeo: Pasta Sysnative no Windows de 64 bits explicada

Vídeo: Pasta Sysnative no Windows de 64 bits explicada
Vídeo: 7 Passos para começar na área de TI (O último é para quem quer TRANSFORMAR sua carreira) - YouTube 2024, Maio
Anonim

Com o lançamento do Windows 7 de 64 bits, houve uma pequena mudança introduzida na alocação normal de pastas no diretório do Windows. Duas novas pastas estão incluídas na edição de 64 bits do Windows 7, Windows 8 e Windows 10. Elas são Sisnative e SysWOW64 pastas. Isso é somente no Windows de 64 bits. Se você executar um Windows de 32 bits em uma máquina de 64 bits, não os verá. Você também não os verá quando executar o Windows de 32 bits em uma máquina de 32 bits.

Existe outra pasta fora do diretório do Windows e é chamada Arquivos de programas (x86). Estamos acostumados ao nome da pasta Program Files que hospeda os executáveis dos nossos programas. Em sistemas de 64 bits, os programas de 64 bits são armazenados na pasta Arquivos de Programas enquanto os programas de 32 bits são armazenados em Arquivos de Programas (x86). No entanto, o Windows usa algo como uma emulação para executar programas de 32 bits em uma máquina de 64 bits. E, portanto, é necessário conhecer e entender quais são as pastas do sistema no Windows (64 bits) para que você saiba como acessar o arquivo desejado.

Ao contrário das máquinas de 32 bits, em que as DLLs de 32 bits são armazenadas no Pasta System32, a versão de 64 bits do Windows armazena DLLs relacionadas a 64 bits na pasta System32. Isso é para facilitar a programação e fornecer compatibilidade com versões anteriores. Ou seja, se um programa de 64 bits se refere ao System32 em seu código, ele obterá a DLL de 64 bits automaticamente quando chamado. Isso ajuda os desenvolvedores, já que eles não precisam alterar o código em seus programas para o Windows de 64 bits.

Em suma, o Windows moveu todas as DLLs de 32 bits da pasta System32 no diretório do Windows para alguma outra pasta, de forma que os programas anteriores não precisem ser recodificados para obter as DLLs adequadas, mesmo ao usar APIs - após a atualização para 64 bits. O problema ocorre quando um aplicativo de 32 bits tenta acessar a pasta System32. Nesse caso, o programa falhará, pois não é gravado para manipular DLLs de 64 bits.

Pasta SysWOW64 no Windows de 64 bits

Todas as DLLs de 32 bits foram movidas para o novo Pasta SysWOW64 na versão de 64 bits do Windows 7, Windows 8 e Windows 10, portanto, quando os programas de 32 bits chamam as DLLs de 32 bits, eles precisam acessar a pasta SysWOW64.

Você pode sentir que os desenvolvedores terão que verificar seus programas e aplicativos para apontar as funções DLL para a pasta SysWOW64. Mas a Microsoft já cuidou disso. Se é um programa de 32 bits que está chamando C: Windows System32, um emulador irá redirecionar o caminho para C: Windows SysWOW64. Ou seja, para executar programas de 32 bits no Windows de 64 bits, é usado um emulador, para que haja compatibilidade com versões anteriores e evitar erros ao chamar arquivos DLL.

Pasta Sysnative no Windows de 64 bits

Image
Image

Pode haver casos em que um programa ou aplicativo de 32 bits pode realmente precisar de uma DLL de 64 bits. Nesse caso, você terá que usar a pasta de redirecionamento Sisnative. Você pode considerar o SysNative para ser uma pasta virtual e um alias que aponta para a pasta System32. Não existe fisicamente no seu sistema, como tal. Portanto, se seu programa de 32 bits precisar acessar uma DLL de 64 bits, não use C: Windows System32 porque o emulador de programa de 32 bits irá levá-lo para a pasta DLL de 32 bits chamada SysWOW64. Em vez disso, use C: Windows SysNative como o caminho para o programa DLL. Usando Sysnative no caminho irá redirecioná-lo para a pasta System32 em vez da pasta SysWOW64.

Se você abrir o File Windows Explorer, não encontrará a pasta Sysnative em C: Windows. Mesmo se você definir Opções de pasta para mostrar as pastas ocultas e do sistema. Isso ocorre porque, o Windows File Explorer é um programa de 64 bits quando executado em um Windows de 64 bits, e a pasta Sysnative é visível e acessível somente a partir de programas de 32 bits.

Resumindo:

  1. Pastas System32 contém arquivos DLL de 64 bits.
  2. SysWOW64 contém arquivos DLL de 32 bits e os programas de 32 bits são redirecionados automaticamente para esta pasta
  3. Sysnative é uma pasta de redirecionamento que permite que programas de 32 bits chamem DLLs de 64 bits.

Leitura adicional: MSDN.

Recomendado: