ReadFile 错误183 ERROR_ALREDY_EXISTS
下面是一个线程里双向读写管道的代码
,ReadFile每次执行一次后,下次执行就失败,错误183 ERROR_ALREDY_EXISTS
关于ReadFile文档上说如果交互使用的话要调整文件的指针,可是我用SetFilePointer(hPipeRecv, NULL, NULL, FILE_BEGIN);似乎无效哦 ,请教高人指点
while (TRUE)
{
EnterCriticalSection(&g_csRead);
if(!g_flag)
{
//读消息
dwWrite = 0;
memset(g_RecvBuf, 0, MAX_UDPPACKET_SIZE);
SetFilePointer(hPipeRecv, NULL, NULL, FILE_BEGIN);
if (!ReadFile(hPipeRecv, g_RecvBuf, MAX_UDPPACKET_SIZE, &dwWrite, NULL))
{
LeaveCriticalSection(&g_csRead);
OutputErrorToFile("接收命名管道-读取数据失败!");
int n = GetLastError(); //183 ERROR_ALREDY_EXISTS
break;
}
// SetFilePointer(hPipeRecv, NULL, NULL, FILE_BEGIN);
g_flag = TRUE;
/*dwWrite = 0;
if (!WriteFile(hPipeRecv, "abc", 3, &dwWrite, NULL))
{
LeaveCriticalSection(&g_csRead);
OutputErrorToFile("接收命名管道-写入数据失败!");
break;
}*/
}
//处理信息
LeaveCriticalSection(&g_csRead);
Sleep(0);
}