命名管道创建失败
我的程序菜单上有个按钮 点击就可以创建一个命名管道 但运行后点击 会弹出"创建命名管道失败"的窗口 我不知道哪边错了 各位知道的赐教啊 谢了先!!!hPipe=CreateNamedPipe("\\\\.\\pipe\\MyPipe",PIPE_ACCESS_DUPLEX | FILE_FLAG_OVERLAPPED,0,1,1024,1024,0,NULL);
if(INVALID_HANDLE_VALUE==hPipe)
{
MessageBox("创建命名管道失败");
hPipe=NULL;
return;
}
HANDLE hEvent;
hEvent=CreateEvent(NULL,TRUE,FALSE,NULL);
if(!hEvent)
{
MessageBox("创建事件对象失败");
CloseHandle(hPipe);
hPipe=NULL;
return;
}
OVERLAPPED ovlap;
ZeroMemory(&ovlap,sizeof(OVERLAPPED));
ovlap.hEvent=hEvent;
if(!ConnectNamedPipe(hPipe,&ovlap))
{
if(ERROR_IO_PENDING!=GetLastError())
{
MessageBox("等待客户端连接失败");
CloseHandle(hPipe);
CloseHandle(hEvent);
hPipe=NULL;
return;
}
}
if(WAIT_FAILED==WaitForSingleObject(hEvent,INFINITE))
{
MessageBox("等待对象失败");
CloseHandle(hPipe);
CloseHandle(hEvent);
hPipe=NULL;
return;
}
CloseHandle(hEvent); --------------------编程问答-------------------- getlasterror --------------------编程问答--------------------
--------------------编程问答--------------------
//看看我这个非重叠的能成功否
BOOL CServerDlg::CreateServerPipe(LPCTSTR lpPipeName)
{
m_hHandle = CreateNamedPipe(lpPipeName,PIPE_ACCESS_DUPLEX,
PIPE_TYPE_MESSAGE|PIPE_READMODE_MESSAGE|PIPE_WAIT,
PIPE_UNLIMITED_INSTANCES,BUFSIZE*sizeof(TCHAR),BUFSIZE*sizeof(TCHAR),
NMPWAIT_USE_DEFAULT_WAIT,NULL);
if(m_hHandle==INVALID_HANDLE_VALUE)
return FALSE;
if(!ConnectNamedPipe(m_hHandle,NULL))//一直等待客户端连接
{
CloseHandle(m_hHandle);
m_hHandle = INVALID_HANDLE_VALUE;
return FALSE;
}
return TRUE;
}
NATIVE的命名管道没用过,顶! --------------------编程问答-------------------- up~~~
补充:.NET技术 , VC.NET