Advertisement
Guest User

Untitled

a guest
May 27th, 2021
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.80 KB | None | 0 0
  1. #include <windows.h>
  2. #include <stdio.h>
  3. unsigned long idA, idB;
  4. void A ()
  5. {
  6. HANDLE chan;
  7. char str [2];
  8. unsigned long n;
  9. chan = CreateNamedPipe ("\\\\.\\pipe\\ppp", PIPE_ACCESS_DUPLEX,
  10. PIPE_TYPE_BYTE | PIPE_READMODE_BYTE, 1, 4, 4, 0, 0);
  11. Sleep (100);
  12. WriteFile (chan, "PT", 2, &n, 0);
  13. ReadFile (chan, str, 2, &n, 0);
  14. putchar (str[0]), putchar (str[1]);
  15. }
  16. void B ()
  17. {
  18. HANDLE chan;
  19. char c;
  20. unsigned long n;
  21. chan = CreateFile ("\\\\.\\pipe\\ppp", GENERIC_READ | GENERIC_WRITE,
  22. 0, 0, OPEN_EXISTING, 0, 0);
  23. ReadFile (chan, &c, 1, &n, 0);
  24. putchar (c);
  25. ReadFile (chan, &c, 1, &n, 0);
  26. putchar (c);
  27. WriteFile (chan, "AB", 2, &n, 0);
  28. }
  29. int main ()
  30. {
  31. CreateThread (0, 0, (LPTHREAD_START_ROUTINE) A, 0, 0, &idA);
  32. CreateThread (0, 0, (LPTHREAD_START_ROUTINE) B, 0, 0, &idB);
  33. Sleep(1000);
  34. return 0;
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement