【问题标题】:JNA library, missing Windows function: how to add new functions?JNA 库,缺少 Windows 功能:如何添加新功能?
【发布时间】:2011-10-20 21:24:33
【问题描述】:

我有一个关于 Java 和 jna 库的问题。我已经从 java.net 下载了两个 jar(jna.jar 和 platform.jar)。

在com.sun.jna.platform.win32包中已经定义了一些链接win dll的接口,但是在Kernel32文件中,缺少一个函数,函数是DeviceIoControl。

我的问题是:

  1. 我在哪里可以找到所有 windows dll 的完整列表以及所有功能的完整列表,并且可能与所有 windows 版本的兼容列表? (很重要) 从 msdn 站点,我找到了完整的函数列表,其中包含函数所在的库的名称,但不是另一个。

  2. 我可以创建一个扩展 Kernel32 的新接口,以便添加缺少的功能吗? 为什么从项目的官方网站,在他们的jar中,有些功能不存在?

提前感谢大家

弗朗西斯科

【问题讨论】:

  • 考虑到即使是微软也没有涵盖最新的以 Windows 为中心的 .NET 框架中的所有核心 windows 功能,所以“JNA.jar”也有许多遗漏也就不足为奇了:)跨度>

标签: java windows dll jna


【解决方案1】:

问:我在哪里可以找到所有 Windows dll 的完整列表以及完整的 所有函数的列表,并且可能与所有函数的兼容列表 Windows 版本? (非常重要)从 msdn 网站我发现 包含库名称的完整函数列表 包含函数,但不包含其他函数。

A:是的,MSDN 图书馆网站是首选http://msdn.microsoft.com/en-us/library/default.aspx。但是,我不明白为什么你找不到其他人。如果您知道如何搜索它们,它就在那里。但是,有些功能可能并不简单,比如 COM 接口,很难正确翻译成 JNA 版本。

问:我能否创建一个扩展 Kernel32 的新接口,以便添加 缺少的功能?为什么从项目的官方网站,在 他们的jar,有些功能不存在?

A:是的,很有可能。目前形式的JNA Win32平台只提供了Kernel32常用功能的基本接口,缺少的可能需要自己添加。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-13
    • 2018-09-17
    • 2022-01-21
    相关资源
    最近更新 更多