我知道windows.h
头文件,有D的模块:
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。
看看std/c/windows/com.d
是怎么做的。有几个与 WindowsAPI 相关的项目,其中之一就是这个:http://dsource.org/projects/bindings/wiki/WindowsApi .它将帮助您开始。
从个人角度来看,我认为最好的方法是为每个 WindowsAPI 库提供绑定(bind)/包装器。在这种情况下,我将创建 wbemuuid 包,并在该包内创建 wbemcli、wbemprov、wbemtran 和 wbemdisp 模块。
最后,您很可能想要分析 existing COM support in D .还有 Lionello 的“Modern COM Programming in D”幻灯片。
关于windows - 我可以在 D 中使用来自 comdef.h、Wbemidl.h 等的例程吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24051606/