Как использовать виртуальные каналы с двумя удаленными приложениями, расположенными на двух разных серверах?

Я сделал 64 бита с ++ Клиентская DLL виртуального канала

Я обновил свой реестр, используя Регистрация клиента виртуального канала (Я выбрал Default\Addins путь)

Если я запускаю подключение Remote Dekstop, все идет хорошо: моя DLL загружается в процесс с именем mstsc.exeМое вывезено VirtualChannelEntry вызывается обратный вызов, и, пропуская детали, я могу отправлять / получать байты (с небольшой помощью моего собственного процесса, выполняющегося в сеансе сервера и открывающего виртуальный канал).

Я также могу открыть второе подключение к удаленному рабочему столу другой Сервер. Второй mstsc.exe процесс запущен, он загружает мою DLL, все ок.

Мои проблемы начинаются, когда я заменяю два своих удаленных рабочих стола двумя «RemoteApps» (один RemoteApp на первом Сервере, другой на втором Сервере).

Когда я запускаю первый RemoteApp, все в порядке ( mstsc.exe запускается и загружается моя DLL).

Когда я запускаю второй RemoteApp, нет нового mstsc.exe, так что нет никакой возможности для моей загрузки DLL снова, но существующие mstsc.exe НЕ вызывает мой экспорт VirtualChannelEntry, Я не могу установить виртуальный канал со вторым сервером.

Порядок имеет значение, а не RemoteApps. Только первый Запущенное RemoteApp даст виртуальный канал с его сервером.

Если я запускаю только один RemoteApp, а затем запустите полное подключение к удаленному рабочему столу Другой Сервер, все ок: два mstsc.exe загрузка моей DLL, два виртуальных канала установлены.

Вопросы:

Как использовать виртуальные каналы с двумя удаленными приложениями, расположенными на двух разных серверах?

Почему там только один mstsc.exe когда я запускаю два RemoteApps, с двух серверов, и почему этот единственный mstsc.exe делает не вызов VirtualChannelEntry для второго соединения?

мой клиент ОС — это Windows 2012.
Проблема воспроизведена с Windows 10 Pro в качестве клиента.

0

Решение

Я получил ответ на Microsoft Technet. Я воспроизвожу это здесь, возможно, помогая будущему читателю.

Добавьте следующую строку в ваши файлы RDP RemoteApps:

disableconnectionsharing:i:1

Тогда будет один случай mstsc.exe для каждого запущенного RemoteApps, и все они будут вызывать ваши экспортированные VirtualChannelEntry Перезвоните.

Осторожно, это ответ на заданный вопрос, в котором говорится, что «два удаленных приложения, расположенных на двух разные Серверы».

Вышеуказанный вариант конфигурации может иметь некоторые плохие последствия, если вы не в этом случае.

Если вы являетесь экспертом в этом вопросе, не стесняйтесь улучшить этот ответ.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]