BOOL ret = TRUE;
unsigned int bytes_left = count;
OVERLAPPED ovl;
-
+
ZeroMemory(&ovl, sizeof(ovl));
ovl.hEvent = CreateEventW(NULL, TRUE, FALSE, NULL);
{
DWORD bytes_read;
ret = ReadFile(npc->pipe, buf, bytes_left, &bytes_read, &ovl);
- if ((!ret || !bytes_read) && (GetLastError() != ERROR_IO_PENDING))
+ if ((!ret || !bytes_read) && (GetLastError() != ERROR_IO_PENDING))
break;
ret = GetOverlappedResult(npc->pipe, &ovl, &bytes_read, TRUE);
if (!ret && (GetLastError() != ERROR_MORE_DATA))
ret = WriteFile(npc->pipe, buf, bytes_left, &bytes_written, &ovl);
if ((!ret || !bytes_written) && (GetLastError() != ERROR_IO_PENDING))
break;
-
ret = GetOverlappedResult(npc->pipe, &ovl, &bytes_written, TRUE);
if (!ret && (GetLastError() != ERROR_MORE_DATA))
break;