读书人

window程序求解,该怎么处理

发布时间: 2012-08-08 14:32:45 作者: rapoo

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就可以了

读书人网 >C++

热点推荐