我不知道为什么这个管道无效。一切似乎都很好。这只是一个测试,我不会写或读它。任何人都可以告诉我什么是错的?
#include <windows.h>
#include <stdio.h>
#include <tchar.h>
#define BUFSIZE 4096
int main()
{
HANDLE hPipe;
LPTSTR Pipename = TEXT("\\\\.\\pipe\\mypipe");
printf("Start Server\n");
for(;;)
{
hPipe = CreateNamedPipe( Pipename,
PIPE_ACCESS_DUPLEX,
PIPE_TYPE_MESSAGE | PIPE_READMODE_MESSAGE | PIPE_WAIT,
PIPE_UNLIMITED_INSTANCES,
BUFSIZE,
BUFSIZE,
NMPWAIT_USE_DEFAULT_WAIT,
NULL );
if ( hPipe == INVALID_HANDLE_VALUE )
{
printf("CreatePipe failed");
return 0;
}
CloseHandle(hPipe);
}
return 1;
}
答案 0 :(得分:0)
如果没有关于错误的更多细节,很难提供帮助。但是,作为一般规则,使用CreateNamedPipe创建服务器,然后使用ConnectNamedPipe。 在客户端,您现在可以使用CreateFile,ConnectNamedPipe正在服务器端等待。