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

window程序求解,该怎么处理

2012-08-08 
window程序求解求增加需代码,并增加main使之可执行使用时调用了CreatNamePipe,没有检查是否返回了INVALID_

window程序求解
求增加需代码,并增加main使之可执行


使用时调用了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;
}

[解决办法]
根据需要改呗,主要是增加对函数调用返回值的判断处理,没啥难的
main函数只需要调用foo就可以了

热点排行