8 #define PIPE_TIMEOUT 1000 36 LPTSTR lpszPipename =
TEXT(
"\\\\.\\pipe\\mynamedpipe");
52 printf(
"CreateNamedPipe() failed\n");
61 printf(
"Pipe connected!\n");
91 DWORD cbBytesRead, cbReplyBytes, cbWritten;
103 if (!fSuccess || cbBytesRead == 0)
113 if (!fSuccess || cbReplyBytes != cbWritten)
BOOL WINAPI WriteFile(IN HANDLE hFile, IN LPCVOID lpBuffer, IN DWORD nNumberOfBytesToWrite OPTIONAL, OUT LPDWORD lpNumberOfBytesWritten, IN LPOVERLAPPED lpOverlapped OPTIONAL)
#define PIPE_UNLIMITED_INSTANCES
DWORD(WINAPI * LPTHREAD_START_ROUTINE)(LPVOID)
#define PIPE_TYPE_MESSAGE
#define INVALID_HANDLE_VALUE
VOID WINAPI ExitProcess(IN UINT uExitCode)
DWORD WINAPI GetLastError(VOID)
VOID GetAnswerToRequest(LPTSTR lpRequest, LPTSTR lpReply, LPDWORD lpcbReplyBytes)
VOID InstanceThread(LPVOID)
HANDLE WINAPI DECLSPEC_HOTPATCH CreateThread(IN LPSECURITY_ATTRIBUTES lpThreadAttributes, IN DWORD dwStackSize, IN LPTHREAD_START_ROUTINE lpStartAddress, IN LPVOID lpParameter, IN DWORD dwCreationFlags, OUT LPDWORD lpThreadId)
BOOL WINAPI FlushFileBuffers(IN HANDLE hFile)
#define PIPE_ACCESS_DUPLEX
VOID MyErrExit(LPTSTR Message)
int main(int argc, char *argv[])
#define ERROR_PIPE_CONNECTED
BOOL WINAPI DisconnectNamedPipe(HANDLE hNamedPipe)
int puts(const char *string)
#define PIPE_READMODE_MESSAGE
#define ReadFile(a, b, c, d, e)
BOOL WINAPI ConnectNamedPipe(IN HANDLE hNamedPipe, IN LPOVERLAPPED lpOverlapped)