Windows Readfile返回ERROR_INVALID_PARAMETER 87

时间:2017-03-07 05:00:06

标签: c++ windows readfile

我的程序创建邮件槽。 接收器createfile与 - GENERIC_WIRTE | GENERIC_READ / FILE_SHARE_WIRTE | FILE_SHARE_READ / OPEN_EXISTING - 和Readfile(句柄,buf(struct),1024,len,NULL)返回错误。 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;

接收器:

CreateFile( msg_key_
, GENERIC_WRITE | GENERIC_READ
, FILE_SHARE_WRITE | FILE_SHARE_READ
, 0
, OPEN_EXISTING
, FILE_FLAG_OVERLAPPED
, 0
); 

ReadFile(msg_id _,(LPVOID)msg,1024,& byteLen,NULL);

返回ERROR_INVALID_PARAMETER ...

1 个答案:

答案 0 :(得分:0)

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

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

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

您无法使用客户端句柄调用ReadFile。 Mailslots不是双向的。