使用 js-ctypes,如何从 Windows ReadFile 检索输出
Using js-ctypes, how do I retrieve output from Windows ReadFile?
我正在使用(虽然不太确定lpBuffer -> char.ptr)
let readFile = kernel32.declare(
"ReadFile",
ctypes.winapi_abi,
ctypes.int32_t, //bool // return type: 1 indicates success, 0 failure
ctypes.voidptr_t, // in: hObject
ctypes.char.ptr, // out: lpBuffer
ctypes.uint32_t, // in: lpNumberOfBytesRead
ctypes.uint32_t.ptr, // out: lpNumberOfBytesWritten
ctypes.voidptr_t.ptr // inout: lpOverlapped
);
为
BOOL WINAPI ReadFile(
_In_ HANDLE hFile,
_Out_ LPVOID lpBuffer,
_In_ DWORD nNumberOfBytesToRead,
_Out_opt_ LPDWORD lpNumberOfBytesRead,
_Inout_opt_ LPOVERLAPPED lpOverlapped
);
但是,当我尝试时
let output = ctypes.char.array(1024);
let isRead = readFile(hFile, output, 1024, bytesWritten.address())
我得到
JPM [错误] 消息: 类型错误: 无法传递 ctypes.char.array(1024) 到int32_t读取文件的参数 2(void*, char*, uint32_t, void**)
更多尝试。
let output = ctypes.char.array(1024);
let isRead = readFile(hFile, output.ptr, 1024, bytesWritten.address())
JPM [错误] 消息:类型错误:无法传递 ctypes.char.array(1024).ptr 到 int32_t ReadFile(void*, 字符*、uint32_t、无效**
let output = ctypes.char.array(1024);
let isRead = readFile(hFile, output.address(), 1024, bytesWritten.address())
JPM [错误] 消息:类型错误:输出地址不是函数
let output = ctypes.char.ptr;
let isRead = readFile(hFile, output, 1024, bytesWritten.address())
JPM [错误] 消息:类型错误:无法将 ctypes.char.ptr 传递给 int32_t读取文件的参数 2(void*, char*, uint32_t, v oid**)
这使它起作用
let outputType = ctypes.char.array(1024);
let output = outputType();
let isRead = readFile(hFile, output, 1024, bytesWritten.address(), null);
相关文章:
- 在Windows 10中自动执行例行程序(主要与浏览器交互)
- Windows形成web浏览器控件和Javascript更改的DOM
- Windows 8固定的网站互动程序
- 如何添加CSS&JavaScript进入Windows窗体应用程序C#.net
- 将Windows文件路径组织到文件夹中
- Windows Azure通知中心错误
- Windows 8 Javascript应用程序XML对象
- Windows.Open 在 window.Location 工作时不起作用
- 在JavaScript Windows 8应用程序中设置桌面壁纸
- 如何在Windows中将Javascript文件编译成二进制文件
- 使用Javascript和html5登录Windows应用程序的Facebook
- 如何运行从TFS获取项目的windows脚本文件
- 试图在Windows上执行package.json中的脚本会引发JScript错误
- SQLite插件适用于Mac和Windows,但不适用于手机上的Safari
- 无法使用Selenium创建本地windows目录结构
- Bing语音和Bing地图在Windows 8应用商店应用程序中冲突
- 是否可以使用推送通知Windows 8 Metro应用程序's使用Javascript
- 如何在Windows上用javascript构建本机应用程序
- 为什么fs.readFile在windows上花费太多时间
- 使用 js-ctypes,如何从 Windows ReadFile 检索输出