我可以在D中使用comdef.h,Wbemidl.h等的例程吗?

时间:2014-06-05 04:23:58

标签: windows winapi com d

我知道windows.h标题,有D的模块:

core.sys.windows.windows

但是关于这样的事情:

#include <comdef.h>
#include <Wbemidl.h>

D支持他们吗?如果支持,我如何导入

1 个答案:

答案 0 :(得分:5)

我不是Windows编程大师,但我很确定你必须自己编写wbemuuid.lib库的包装器,因为编译器通常默认不提供它。 如您所知,您可以使用任何核心Windows库中的任何C函数。

只要查看MinGW项目中的Wbemidl.h文件,您似乎就会有很多工作要做。 - 你必须包装wbemcli.h,wbemprov.h,wbemtran.h和wbemdisp.h。

看看std/c/windows/com.d如何做到这一点。有几个与WindowsAPI相关的项目,其中一个就是这个项目:http://dsource.org/projects/bindings/wiki/WindowsApi。它会帮助你开始。

从个人角度来看,我认为最好的方法是为每个WindowsAPI库提供绑定/包装。在这种情况下,我将在此包中创建wbemuuid包,以及wbemcli,wbemprov,wbemtran和wbemdisp模块。

最后,您最有可能想要分析existing COM support in D。而Lionello的“Modern COM Programming in D”幻灯片。