我知道windows.h
标题,有D的模块:
core.sys.windows.windows
但是关于这样的事情:
#include <comdef.h>
#include <Wbemidl.h>
D支持他们吗?如果支持,我如何导入
答案 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”幻灯片。