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 de Sessão de Á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 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 o Microsoft Visual C++, poderá usar a opção TSAWARE vinculador para definir esse sinalizador. A ferramenta DUMPBIN que é fornecida com o 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 de DUMPBIN, consulte de referência 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ó deve 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 seguintes critérios, 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 no HKEY_CURRENT_USER durante a instalação. Para obter mais informações, consulte Storing User-Specific Information.
- 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 por usuário dados temporários ou de configuração no Windows ou em outros diretórios do sistema.
- O aplicativo não grava no hkey local machine hive de registro para dados ou configuração específicas do usuário.
- O aplicativo segue outras diretrizes de compatibilidade dos Serviços de Área de Trabalho Remota mencionadas neste documento.