Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <windows.h>
- #include <stdio.h>
- unsigned long idA, idB;
- void A ()
- {
- HANDLE chan;
- char str [2];
- unsigned long n;
- chan = CreateNamedPipe ("\\\\.\\pipe\\ppp", PIPE_ACCESS_DUPLEX,
- PIPE_TYPE_BYTE | PIPE_READMODE_BYTE, 1, 4, 4, 0, 0);
- Sleep (100);
- WriteFile (chan, "PT", 2, &n, 0);
- ReadFile (chan, str, 2, &n, 0);
- putchar (str[0]), putchar (str[1]);
- }
- void B ()
- {
- HANDLE chan;
- char c;
- unsigned long n;
- chan = CreateFile ("\\\\.\\pipe\\ppp", GENERIC_READ | GENERIC_WRITE,
- 0, 0, OPEN_EXISTING, 0, 0);
- ReadFile (chan, &c, 1, &n, 0);
- putchar (c);
- ReadFile (chan, &c, 1, &n, 0);
- putchar (c);
- WriteFile (chan, "AB", 2, &n, 0);
- }
- int main ()
- {
- CreateThread (0, 0, (LPTHREAD_START_ROUTINE) A, 0, 0, &idA);
- CreateThread (0, 0, (LPTHREAD_START_ROUTINE) B, 0, 0, &idB);
- Sleep(1000);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement