微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Node-FFI ref-struct 传递对象

如何解决Node-FFI ref-struct 传递对象

我被困在某个地方,需要你的帮助。

基本上我们要添加 Windows 网络凭据以连接网络共享文件夹.... 官方 Dll 文档是 here

而这个 WNetAddConnection2W 函数需要 4 个参数。我卡在这里了。因为第一个参数需要一个对象,我不能传递这个。

一个参数是 lpNetResource,我认为这是一个对象,所以我使用 ref-struct。其他参数很简单,因为它们需要字符串。

它正在运行,但我总是得到 67 - ERROR_BAD_NET_NAME,我尝试更改结构的每个部分,但它不起作用。

我的代码

var ref = require('ref');
var StructType = require('ref-struct')
var ffi = require('ffi');
var lpNetResource = StructType({
  dwType: ref.types.uint32,lpLocalName: 'string',lpRemoteName: 'string',lpProvider: 'string'
})
const obj = {
  dwType: "",dwdisplayType: "",lpLocalName : "",lpRemoteName: "\\\\172.20.0.110",lpProvider:''
}
var current = ffi.Library("./mpr.dll",{
  'WNetAddConnection2W': [ref.types.uint32,[lpNetResource,'string','int']],});

var add = current.WNetAddConnection2W(new lpNetResource(obj),"123456","root",4)
console.log(add) // 67 - ERROR_BAD_NET_NAME

DOCS IMAGE

DOCS URL

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。