Compartilhar via


Camada de compatibilidade do aplicativo

Para executar aplicativos herdados em um ambiente de Serviços de Área de Trabalho Remota, você pode usar a camada de compatibilidade de aplicativos dos Serviços de Área de Trabalho Remota. Quando o servidor Host da Sessão da Área de Trabalho Remota (Host da Sessão da Área de Trabalho Remota) carrega um aplicativo que não está ciente dos Serviços de Área de Trabalho Remota, ele também carrega uma DLL que contém o código de compatibilidade. Para usar a camada de compatibilidade de aplicativos dos Serviços de Área de Trabalho Remota, você pode definir o sinalizador NOT TSAWARE ao compilar um aplicativo.

Se o aplicativo estiver ciente dos Serviços de Área de Trabalho Remota, você poderá evitar a sobrecarga de carregar essa DLL extra e executar o código de compatibilidade.

Para indicar que seu aplicativo está ciente dos Serviços de Área de Trabalho Remota, defina o sinalizador IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE no cabeçalho opcional. Se você estiver usando o vinculador fornecido com Microsoft Visual C++, poderá usar a opção vinculador TSAWARE para definir esse sinalizador. A ferramenta DUMPBIN fornecida com Microsoft Visual C++ fornece a opção /HEADERS para determinar o estado do sinalizador TSAWARE. Para obter mais informações sobre como usar a ferramenta DUMPBIN , consulte Referência de DUMPBIN.

Tenha cuidado ao usar o sinalizador TSAWARE porque ele permite que seu aplicativo ignore as otimizações de compatibilidade dos Serviços de Área de Trabalho Remota. O sinalizador TSAWARE só deverá ser usado se você tiver certeza de que seu aplicativo foi projetado para o ambiente de Serviços de Área de Trabalho Remota. Se o aplicativo atender aos critérios a seguir, você poderá usar com segurança o sinalizador IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE .

  • O aplicativo não usa arquivos .ini.
  • O aplicativo não grava em HKEY_CURRENT_USER durante a instalação. Para obter mais informações, consulte Armazenando informações de User-Specific.
  • O aplicativo não é executado como um serviço do sistema (ou seja, LUID=System).
  • O aplicativo não espera acesso exclusivo ao Windows ou a outros diretórios do sistema. Isso significa que o aplicativo não armazena dados temporários ou de configuração por usuário no Windows ou em outros diretórios do sistema.
  • O aplicativo não grava no hive do Registro do Computador Local do HKEY para dados ou configurações específicas do usuário.
  • O aplicativo segue outras diretrizes de compatibilidade dos Serviços de Área de Trabalho Remota mencionadas neste documento.