15,471
社区成员
发帖
与我相关
我的任务
分享
HANDLE hPipe;
hPipe = CreateNamedPipe(TEXT("\\\\.\\Pipe\\taskqueue"),
PIPE_ACCESS_DUPLEX,
PIPE_TYPE_MESSAGE|PIPE_READMODE_MESSAGE|PIPE_WAIT ,
PIPE_UNLIMITED_INSTANCES,
0,
0,
NMPWAIT_USE_DEFAULT_WAIT,
0);//创建了一个命名管道
if( INVALID_HANDLE_VALUE == hPipe)
{
printf("Error create/open pipe");
}
else
{
if(WaitNamedPipe(TEXT("\\\\.\\Pipe\\taskqueue"), NMPWAIT_WAIT_FOREVER)) //连接命名管道
{
hPipe=CreateFile(L"\\\\.\\pipe\\taskqueue", GENERIC_READ| GENERIC_WRITE,0,
NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,NULL); //打开指定命名管道
if(hPipe==INVALID_HANDLE_VALUE)
{
printf("打开命名管道失败\r\n");
}
else
{
//
TaskStruct taskRead = {0};
DWORD wlen=0;
wchar_t buf[256];
ReadFile(hPipe,&taskRead,sizeof(TaskStruct),&wlen,NULL);
//
TaskStruct task = {0};
task.handle = 1;
strcpy(task.dwgSrcPath, "F:\\test\\111.dwg");
strcpy(task.dwgDstPath, "F:\\test\\222.dwg");
task.iDwgVer = 0;
task.TaskStatus = DWG_TASK_COMMIT;
strcpy(task.urlsource, "192.168.0.62\\showInfo.php");
if(WriteFile(hPipe,&task,sizeof(TaskStruct),&wlen,0))
{
printf("数据写入成功\r\n"); //提示信息
}
else
{
printf("数据写入失败\r\n");
}
}
}
else
{
printf("连接命名管道失败\r\n"); //提示信息
}
CloseHandle(hPipe);
}