我是 COM 新手,所以这可能是一个愚蠢的问题,但无论如何我都会问。:)
据我了解,为了制作 DLL COM,我们需要在 .idl 文件中定义其接口,使用 MIDL 编译器对其进行编译,然后简单地实现使用定义的接口的类。然后我们需要暴露DllRegisterServer
,DllUnregisterServer
和DllGetClassObject
。它应该足够了,对吧?
但是我做了这一切,当我尝试在客户端 C++ 程序中检查它时,我的视觉工作室说(在#import 语句中)它找不到 tlh 文件......
这就是我的 .idl 的样子:
import "someIdl.idl";
[
uuid(some-guid-Num1),
version(1.0),
helpstring("The library's description")
]
library LibName
{
importlib("stdole2.tlb");
[
uuid(some-guid-Num2),
helpstring("Some Description")
]
coclass ClassName
{
interface Interface_defined_in_someIdl;
}
};
我在 .idl 中遗漏了什么吗?我弄错了 COM 制作过程吗?