Windows 读取文件返回 ERROR_INVALID_PARAMETER 87

癌症尹

我的程序创建了一个邮槽,但是当我调用 ReadFile 时,我得到ERROR_INVALID_PARAMETER.

参数不对怎么办?

程序代码:

SECURITY_DESCRIPTOR sd;
    InitializeSecurityDescriptor(&sd, SECURITY_DESCRIPTOR_REVISION);
    SetSecurityDescriptorDacl(&sd, true, NULL, false);

    SECURITY_ATTRIBUTES sa;
    sa.lpSecurityDescriptor=&sd;
    sa.bInheritHandle=true;

    msg_id_ = CreateMailslot( msg_key_
                                , 0
                                , MAILSLOT_WAIT_FOREVER
                                , &sa
                                );

msg_id_是不是INVALID_HANDLE_VALUE这样这个功能就成功了。sa应该允许GENERIC_WRITEGENERIC_READ

接收器代码:

msg_id_ = CreateFile( msg_key_
                            , GENERIC_WRITE | GENERIC_READ
                            , FILE_SHARE_WRITE | FILE_SHARE_READ
                            , 0
                            , OPEN_EXISTING
                            , FILE_FLAG_OVERLAPPED
                            , 0
                            );
ReadFile( msg_id_, (void*)msg, 1024, &byteLen, &ovRead);

Readfile 失败,错误代码为 ERROR_INVALID_PARAMETER。

哈里·约翰斯顿

您正试图以错误的方式使用邮槽。

通过调用创建的邮槽服务器句柄CreateMailslot用于接收消息。

通过调用创建的邮槽客户端句柄CreateFile用于发送消息。

您不能ReadFile使用客户端句柄调用邮槽不是双向的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

RegCreateKeyExA 函数返回 ERROR_INVALID_PARAMETER(错误代码 87)

Python ctypes EnumThreadWindows 失败,错误 87 (ERROR_INVALID_PARAMETER)

ReadMsgQueue返回ERROR_INVALID_PARAMETER

WIN API ReadFile()返回GetLastError()ERROR_INVALID_PARAMETER

查询蓝牙设备时,SetupDiEnumDeviceInterfaces返回ERROR_INVALID_PARAMETER

带有FSCTL_SET_ZERO_DATA的DeviceIoControl返回ERROR_INVALID_PARAMETER

禁用快速编辑模式时,SetConsoleMode返回ERROR_INVALID_PARAMETER

GetThreadContext()返回87

尝试从邮筒读取时出现C读取文件错误87

GetGuiResources返回0(错误87)或废话值

RegOpenKeyEx在MASM64中返回错误87

如何使lm传感器返回CPU温度(it87)?

尝试设置ProcessStrictHandleCheckPolicy返回87-错误的函数

异步ReadDirectoryChangesW失败,错误码为ERROR_INVALID_PARAMETER

wintun:注册环形缓冲区时出现ERROR_INVALID_PARAMETER

从使用x87 FPU的64位汇编函数返回浮点数

使用WriteFile函数会产生1(成功),但返回错误代码87

JNI:转换长度超过87个字符的jstring会返回随机字符

android.view.InflateException:二进制XML文件行#87:错误膨胀了类TextView

将 EvtQuery 与 winapi crate 一起使用时,为什么会出现 ERROR_INVALID_PARAMETER?

使用Windows Batch读取XML文件

spark读取csv中的Windows文件

如何从共享位置Windows读取文件?(Java)

从Windows 8.1读取Ubuntu Home的文件

如何在Windows上读取Linux文件?

在Spark中读取Windows网络文件

写入/读取文件Windows 8.1 AppStore App

curl xput windows无法从文件读取数据

读取给定的文件Windows Phone 8.1