32-битный динамический виртуальный канал

Я построил динамический виртуальный канал для RDP, и в большинстве случаев он работает фантастически, но в некоторых случаях я не могу заставить его работать, и у меня нет идей относительно того, почему.

Вот что я пробовал и что работает:

  • Запуск плагина DVC в proc на 64-битном клиенте, подключающемся к 64-битному серверу
  • Запуск плагина DVC Out of Proc на 64-битном COM-сервере с 64-битным клиентом, подключающимся к 64-битному серверу

Вот что я попробовал и потерпел неудачу:

  • Запуск плагина DVC в proc в 32-битном клиенте, подключающемся к 64-битному серверу
  • Запуск плагина DVC из proc на 32-битном COM-сервере с 32-битным клиентом, подключающимся к 64-битному серверу
  • Запуск плагина DVC из proc на 32-битном COM-сервере с 64-битным клиентом, подключающимся к 64-битному серверу.

Во всех случаях сбоя плагин загружается клиентом RDP OK, и я получаю все стандартные вызовы (Initialize, Connected, Disconnected, Terminate), я даже могу успешно вызвать IWTSVirtualChannelManager.CreateListener OK (что означает отсутствие исключений), но IWTSListener всегда нулевой, когда он возвращается.

У кого-нибудь есть идеи, почему IWTSVirtualChannelManager.CreateListener не будет создавать нового слушателя и по-прежнему возвращать S_OK?

0 ответов

Другие вопросы по тегам