如何确保我的COM服务器正常运行

如何确保我的COM服务器正常运行,com,Com,我在下面(发表于2001年3月6日)。它建议将.idl文件插入到项目工作空间中。我不知道“项目工作空间”是什么意思。我最好的猜测是它与在VisualStudio中创建的项目文件有关。因为我不使用VisualStudio,所以我不知道怎么做。我更喜欢命令行界面。我猜将.idl文件插入到项目工作空间的目的是添加依赖关系,因此如果修改了.idl文件,Visual Studio中的项目将相应地执行一些操作,就像Makefile中的规则一样。我不知道这个假设是否正确,希望VisualStudio用户能够确

我在下面(发表于2001年3月6日)。它建议将.idl文件插入到项目工作空间中。我不知道“项目工作空间”是什么意思。我最好的猜测是它与在VisualStudio中创建的项目文件有关。因为我不使用VisualStudio,所以我不知道怎么做。我更喜欢命令行界面。我猜将.idl文件插入到项目工作空间的目的是添加依赖关系,因此如果修改了.idl文件,Visual Studio中的项目将相应地执行一些操作,就像Makefile中的规则一样。我不知道这个假设是否正确,希望VisualStudio用户能够确认或纠正它

其次,在按照教程创建的.dll文件上运行
regsvr32
后,如何在
oleview
中找到相关条目?有这么多的信息,没有菜单项搜索我的COM界面。
oleview
的GUI让我很困惑。为什么会有不同的树视图分支,它们是什么意思?我在微软的网站上找不到任何有用的信息。有什么方法可以找到我的COM接口吗?如何确保COM接口正常工作

regsvr32
说加载成功,但我仍然无法在
oleview
中找到我的COM接口。是因为我没有将.idl文件插入“项目工作空间”吗?这个“项目工作空间”到底是什么


我甚至不知道我的COM接口在
oleview
中应该是什么样子,是UUID字符串还是人类可读的名称?因此,让人困惑的是,
oleview
!谢谢。

1)是的,只需在idl上运行midl.exe,2)有两个COM世界:32位和64位,与您用来注册组件的注册表有关。还有两个版本的Oleview(x86和x64),两个版本的regsvr32,等等。所以请确保您使用的是相应的版本。通常,您希望查看“所有对象”和/或“类型库”(aka.tlb文件)和/或“接口”。除非您编写了一个COM.exe服务器,否则没有“正在运行的实例”这样的东西。.dll只能由请求加载的客户端加载@SimonMourier感谢您的确认和解释。非常感谢。我刚读完你推荐的那篇文章。现在我对oleview有所了解,但仍然不知道如何在oleview中列出我的组件?我在.dll文件上运行了regsvr32,但什么也没发生。在.dll文件上运行regsvr32为.dll文件提供的COM接口添加注册表项是否正确?oleview基于注册表填充其内容是否正确?Thank.regsvr32应至少显示一个“ok”消息框。它“只是”表示成功调用了DllRegisterServer。它的具体功能(在注册表或其他任何地方)完全取决于DllRegisterServer impl。同样,它可能是一个32位对64位的问题,请确保您称之为确切的问题。OleView仅列出注册表是,但。。。同样,oleview 32看到32位注册表,而oleview 64看到64位注册表registry@SimonMourier非常感谢。你帮了我很多。祝你今天愉快。:)