我知道头上有个模块:

core.sys.windows.windows

但像这样的人:
#include <comdef.h>
#include <Wbemidl.h>

D是否支持它们,如果支持,我如何导入

最佳答案

我不是一个windows编程大师,但我确信您必须自己编写一个包装器来包装wbemuuid.lib库,因为编译器通常默认不提供它。
如您所知,您可以使用任何核心windows库中的任何c函数。
通过查看mingw项目中的Wbemidl.h文件,您似乎有很多工作要做。-你必须包装wbemcli.h,wbemprov.h,wbemtran.h和wbemdisp.h。
看看如何做到这一点。有几个与windowsapi相关的项目,其中之一就是这个:http://dsource.org/projects/bindings/wiki/WindowsApi。它会帮你开始。
从个人角度来看,我认为最好的方法是为每个WindowsAPI库提供绑定/包装器。在本例中,我将创建wbemuid包,并在此包中创建wbemcli、wbemprov、wbemtran和wbemdisp模块。
最后,您很可能希望分析existing COM support in D。还有莱昂内洛的“AA”幻灯片。

08-28 12:28