Поделиться через


Уровень совместимости приложений

Для запуска устаревших приложений в среде служб удаленных рабочих столов можно использовать уровень совместимости приложений Служб удаленных рабочих столов. Когда сервер узла сеансов удаленных рабочих столов загружает приложение, которое не поддерживает службы удаленных рабочих столов, он также загружает библиотеку DLL, содержащую код совместимости. Чтобы использовать уровень совместимости приложений служб удаленных рабочих столов, можно установить флаг NOT TSAWARE при компиляции приложения.

Если приложение учитывает службы удаленных рабочих столов, можно избежать дополнительных затрат на загрузку этой дополнительной библиотеки DLL и выполнение кода совместимости.

Чтобы указать, что приложение учитывает службы удаленных рабочих столов, установите флаг IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE в необязательном заголовке. Если вы используете компоновщик, поставляемый с Microsoft Visual C++, можно использовать параметр компоновщика TSAWARE, чтобы установить этот флаг. Средство DUMPBIN, поставляемое с Microsoft Visual C++, предоставляет параметр /HEADERS для определения состояния флага TSAWARE. Дополнительные сведения об использовании средства DUMPBIN см. в справочнике по DUMPBIN.

Будьте внимательны при использовании флага TSAWARE , так как он позволяет приложению обходить любые оптимизации совместимости Служб удаленных рабочих столов. Флаг TSAWARE следует использовать, только если вы уверены, что приложение предназначено для среды служб удаленных рабочих столов. Если приложение соответствует следующим критериям, можно безопасно использовать флаг IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE .

  • Приложение не использует файлы .ini.
  • Приложение не записывает данные в HKEY_CURRENT_USER во время установки. Дополнительные сведения см. в разделе Хранение сведений о User-Specific.
  • Приложение не запускается как системная служба (т. е. LUID=System).
  • Приложение не ожидает монопольного доступа к Windows или другим системным каталогам. Это означает, что приложение не хранит временные данные пользователя или данные конфигурации в Windows или других системных каталогах.
  • Приложение не выполняет запись в куст реестра локального компьютера HKEY для данных или конфигурации пользователя.
  • Приложение следует другим рекомендациям по совместимости служб удаленных рабочих столов, упомянутым в этом документе.