2

在 MSDN 上有一个C++ 示例,介绍如何创建动态虚拟通道插件

我的问题是我不知道如何编译它。

我是否需要创建一个 ATL 项目并main.cpp复制粘贴在 msdn 上找到的代码?我怎么称呼这个项目?如果我使用 name 创建 ATL 项目DVCPlugin,Visual Studio 2008 会自动创建DVCPlugin_i.h file,否则我没有该文件。

tsvirtualchannels.h是 Windows 7 SDK 的一部分,所以至少包含我没有问题。

我得到的错误之一是:

&CLSID_DVCSamplePlugin无法识别的标识符

我尝试使用名称创建 ATL 项目,DVCSamplePlugin但收到与上述相同的消息。

为了能够编译该源代码,我需要做什么建议?

4

2 回答 2

2

我花了几个小时,但我得到了使用 VS 2012 构建的客户端插件的源代码。这是我的步骤。

  1. 启动一个名为DVCPlugin. 选择 DLL 的选项。
  2. 选择对 COM+ 的支持并选中对象注册器的复选框。
  3. 添加一个名为GUID.cppDVCPlugin 项目的文件。包含stdafx.h在这个文件中。
  4. ATL 给了我一个名为 CompReg 的类,它有自己的 IDL 条目和 GUID。我需要将该 GUID 与CDVCSamplePlugin类相关联。
  5. DVCPlugin.cpp中,将 include for 添加<tsvirtualchannels.h>到顶部。
  6. 将其余的示例代码粘贴到DllInstall().
  7. 将行更改DECLARE_REGISTRY_RESOURCEID(IDR_PLUGIN)DECLARE_REGISTRY_RESOURCEID(IDR_DVCPLUGIN)
  8. 看起来构建解决方案以静默方式运行DVCPlugin.rgs文件中的注册表脚本。不过,我不得不将线程模型更改为免费。
  9. 如果 mstsc.exe 是 64 位,则需要 64 位插件 dll 才能使动态发现工作。
于 2015-02-02T22:50:16.100 回答
1

这只是一些用于测试远程桌面连接的代码 -

远程桌面连接 (RDC) 客户端实现了一个“回声”侦听器,该侦听器始终存在并侦听传入连接。当您编写动态虚拟通道 (DVC) 模块的服务器端时,作为快速测试,您可以打开一个名为“ECHO”的端点。从该端点实例化的通道的任何写入都将导致接收到相同的数据。

来自MSDN。此类项目通常包含在某些 SDK 中。这似乎是Windows 8 SDK的一部分

更新:在蒂姆(见下文)的批评之后,我决定添加这些带有 MSDN 信息的链接 - 远程桌面服务。TS-Teleport:示例说明 远程桌面服务博客。动态虚拟通道

于 2013-01-05T20:12:49.873 回答