我的程序创建邮件槽。 接收器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 ...
答案 0 :(得分:0)
您正试图以错误的方式使用邮箱。
通过调用CreateMailslot
创建的邮箱服务器句柄用于接收消息。
通过调用CreateFile
创建的邮件客户端句柄用于发送邮件。
您无法使用客户端句柄调用ReadFile
。 Mailslots不是双向的。