CrazyStar
Сообщений: 11
Оценки: 0
Присоединился: 2006-10-20 16:12:03.003333
|
Кто-нибудь работал когда-нибудь с данным хитрым pipe-ом? Кто-нибудь может дать код, считывающий данные из него? Или по крайней мере подсказать формат сообщений, который там используется. Например, есть такой код: #define UNICODE 1 #define _UNICODE 1 #include <windows.h> #include <stdio.h> #include <conio.h> #include <tchar.h> #define BUFSIZE 1024 int _tmain(int argc, TCHAR *argv[]) { HANDLE hPipe; LPTSTR lpszWrite = TEXT("read"); TCHAR chReadBuf[BUFSIZE]; BOOL fSuccess; DWORD cbRead, cbWritten, dwMode; LPTSTR lpszPipename = TEXT("\\\\.\\pipe\\scerpc"); // if( argc > 1) // { lpszWrite = TEXT("\\\\.\\pipe\\scerpc");//argv[1]; // } fSuccess = CallNamedPipe( lpszPipename, // pipe name lpszWrite, // message to server (lstrlen(lpszWrite)+1)*sizeof(TCHAR), // message length chReadBuf, // buffer to receive reply BUFSIZE*sizeof(TCHAR), // size of read buffer &cbRead, // number of bytes read 10); // waits for 20 seconds WaitForSingleObject( hPipe, INFINITE); if (fSuccess || GetLastError() == ERROR_MORE_DATA) { _tprintf( TEXT("%s\n"), chReadBuf ); // The pipe is closed; no more data can be read. if (! fSuccess) { printf("\nExtra data in message was lost\n"); } } getch(); CloseHandle(hPipe); return 0; } Что писать в LPTSTR lpszWrite = TEXT(">>>Что написать вот тут?<<<"); что бы pipe хоть как-то отреагировал? Пока что прога просто подвисает…Хотя по File Monitor видно, что запись в pipe проходит успешно, в буфер ничего не возвращается… Заранее, благодарен.
|