【发布时间】:2012-03-17 03:11:30
【问题描述】:
我正在尝试编写一些插件来使用Terminal Services Session Broker Plugin Interface。我精通 C#,但自 90 年代后期以来我没有做过任何 C++。对于我正在编写的插件,我计划与数据库进行通信,并且我更喜欢使用System.Data.SqlClient 与它交谈,因为我知道它的来龙去脉相当好。我有Windows SDK,它为我提供了接口的.idl 文件(tssbx.idl)。 SDK还提供了一个C头文件(tssbx.h)和一个C源文件(tssbx_i.c)。
我以前从未编写过 COM 服务器,并且在寻找学习如何读取 IDL 文件并将其转换为 C# 的资源时遇到了很多麻烦。我发现的所有内容都说“Use TlbImport”,但这需要像 library 这样的块在 IDL 中,而 tssbx.idl 没有(及其依赖项)没有实现。
什么是我最好的选择:
- 查找与MIDL 等效的 C# 工具,用于将 .idl 文件解析为 .cs 文件。
- 学习 IDL(我一直找不到好的指南来学习它)并用 C# 手工编写整个内容。
- 使用提供的 C 文件编写一个帮助程序 dll,并将该调用用于我的 .NET 部件的 C# dll。
- 重新学习 C++,使用提供的 .h 和 .c 文件,并使用 CLR 进行我的 .NET 调用。
- 其他一些我没有想到的选项。
【问题讨论】: