I want to send data from a C # application to a C ++ application through a pipe. Here is what I did:
this is a C ++ client:
#include "stdafx.h" #include <windows.h> #include <stdio.h> int _tmain(int argc, _TCHAR* argv[]) { HANDLE hFile; BOOL flg; DWORD dwWrite; char szPipeUpdate[200]; hFile = CreateFile(L"\\\\.\\pipe\\BvrPipe", GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL); strcpy(szPipeUpdate,"Data from Named Pipe client for createnamedpipe"); if(hFile == INVALID_HANDLE_VALUE) { DWORD dw = GetLastError(); printf("CreateFile failed for Named Pipe client\n:" ); } else { flg = WriteFile(hFile, szPipeUpdate, strlen(szPipeUpdate), &dwWrite, NULL); if (FALSE == flg) { printf("WriteFile failed for Named Pipe client\n"); } else { printf("WriteFile succeeded for Named Pipe client\n"); } CloseHandle(hFile); } return 0;
}
and here is the C # server
using System; using System.IO; using System.IO.Pipes; using System.Threading; namespace PipeApplication1{ class ProgramPipeTest { public void ThreadStartServer() {
}
when I start the server and then the GetLastErrror client from the client returns 2 (the system cannot find the specified file.)
Any idea on this. Thanks
c ++ c # ipc
itchy
source share