首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

一段windows程序,求相助

2012-08-11 
一段windows程序,求帮助不太清楚windows编程,看书时看到这里不懂,请大侠帮忙增加所需代码,并且增加可以让

一段windows程序,求帮助
不太清楚windows编程,看书时看到这里不懂,请大侠帮忙增加所需代码,并且增加可以让它执行的驱动程序。


使用时调用了CreatNamePipe,没有检查是否返回了INVALID_HANDLE_VALUE;也没有调用GetLastError检查是否返回了ERROR_ACDESS_DENIED。
使用时调用了CreateMutex,没有检查是否返回了NULLbn没有调用应添加检查返回值的代码,并处理异常情况。



void foo(){
  BOOL fConnected;
LPTSTR lpszPipename=TEXT("\\\\.\\pipe\\mynamedpipe");
HANDLE hPipe;
hPipe=CreateNamedPipe(
lpszPipename,
FILE_FLAG_MESSAGE |
PIPE_READMODE_MESSAGE |
  PIPE_WAIT,
PIPE_UNLIMITED_INSTANCES,
BUFSIZE,
BUFSIZE,
NMPWAIT_USE_DEFAULT_WAIT,
NULL);
  fConnected=ConnectNamedPipe(hPipe,NULL)?
TRUE:(GetLastError()==ERROR_PIPE_CONNECTED);
  /*.....*/
  return 0;
}

[解决办法]
使用时调用了CreatNamePipe,没有检查是否返回了INVALID_HANDLE_VALUE;也没有调用GetLastError检查是否返回了ERROR_ACDESS_DENIED。
使用时调用了CreateMutex,没有检查是否返回了NULLbn没有调用应添加检查返回值的代码,并处理异常情况。
-----------
不是已经说的很清楚了吗?
[解决办法]
建议看Visual C++网络编程经典案例详解,对于进程通信(管道)有详细实例。创建管道应该会是成功的。可能出错在connect。 并且这个用写入和读出两个程序。

热点排行