如何查找包含指定Win32 API函数的Windows动态链接库DLL
LogonUserW 所属的动态链接库为 advapi32.dll,你可以直接用如下代码加载:
// 接口名称可自定义,此处以WinBase为例,也可沿用你之前的命名习惯 Native.load("Advapi32", WinBase.class);
官方查询方法说明
你不需要使用DUMPBIN遍历系统所有DLL来查找函数所属库,微软官方的Win32 API文档已经为每个函数标注了所属的库信息,查询步骤如下:
- 打开对应API的官方文档页面
- 下拉到页面最底部的「要求」板块(英文文档对应Requirements板块)
- 直接查看DLL对应的条目即可获得准确的库名称
补充说明
你示例中看到的用WinCrypt作为JNA接口名只是参考示例的习惯写法,接口名没有强制要求,只要接口内定义的函数签名、入参出参类型和原生Windows API完全匹配,就能正常完成加载调用,你完全可以根据头文件或者功能将接口命名为WinCred、WinBase等更易识别的名称。
内容的提问来源于stack exchange,提问作者José Alvarado Torre
相关产品推荐
相关产品推荐

