当前位置: 首页 > wzjs >正文

官方网站建站哪里卖网站模板

官方网站建站,哪里卖网站模板,所得税汇算清缴在哪个网站做,建设网站技术数据策划书主要思路是: 使用重叠 I/O(OVERLAPPED),避免阻塞 ConnectNamedPipe。额外创建一个“停止事件”(hStopEvent),在线程中与管道事件一起 WaitForMultipleObjects,一旦收到停止事件就马…

主要思路是:

  1. 使用重叠 I/O(OVERLAPPED),避免阻塞 ConnectNamedPipe。
  2. 额外创建一个“停止事件”(hStopEvent),在线程中与管道事件一起 WaitForMultipleObjects,一旦收到停止事件就马上退出循环。
  3. 在主线程(或 OnNcDestroy)中 SetEvent(hStopEvent) 通知线程退出,然后再 CloseHandle 管道和事件。
// 假设这几个都是类成员或全局变量:
HANDLE hPipe = INVALID_HANDLE_VALUE;      // 管道句柄
HANDLE hStopEvent = NULL;                 // 停止事件
HANDLE hOvEvent   = NULL;                 // OVERLAPPED 事件
HANDLE hThread    = NULL;                 // 工作线程句柄bool OpenPipe(MsgHandleInterface* msgHandle)
{// 1. 创建停止事件(自动重置、初始未置位)hStopEvent = CreateEvent(nullptr, FALSE, FALSE, nullptr);if (!hStopEvent) return false;// 2. 创建 OVERLAPPED 专用事件hOvEvent = CreateEvent(nullptr, FALSE, FALSE, nullptr);if (!hOvEvent) {CloseHandle(hStopEvent);return false;}// 3. 创建命名管道,注意 FILE_FLAG_OVERLAPPEDLPCTSTR lpszPipename = TEXT(CMWAITMSGPIPENAME);hPipe = CreateNamedPipe(lpszPipename,PIPE_ACCESS_INBOUND | FILE_FLAG_OVERLAPPED,  // 重叠模式PIPE_TYPE_MESSAGE | PIPE_READMODE_MESSAGE | PIPE_WAIT,1,BUFSIZE,BUFSIZE,0,NULL);if (hPipe == INVALID_HANDLE_VALUE) {CloseHandle(hOvEvent);CloseHandle(hStopEvent);return false;}// 4. 启动后台线程DWORD dwThreadId = 0;hThread = CreateThread(NULL,0,waitConnectThread,(LPVOID)msgHandle,    // 如果需要传递 msgHandle,可用结构体打包0,&dwThreadId);if (!hThread) {CloseHandle(hPipe);CloseHandle(hOvEvent);CloseHandle(hStopEvent);return false;}msgHandleObj = msgHandle;return true;
}// 窗口销毁或退出时调用
void ClosePipe()
{if (hStopEvent) {// 通知线程退出SetEvent(hStopEvent);}if (hThread) {// 等待线程结束WaitForSingleObject(hThread, INFINITE);CloseHandle(hThread);hThread = NULL;}if (hPipe != INVALID_HANDLE_VALUE) {CloseHandle(hPipe);hPipe = INVALID_HANDLE_VALUE;}if (hOvEvent) {CloseHandle(hOvEvent);hOvEvent = NULL;}if (hStopEvent) {CloseHandle(hStopEvent);hStopEvent = NULL;}
}// 线程入口:使用 OVERLAPPED + 双事件等待
DWORD WINAPI waitConnectThread(LPVOID lpvParam)
{UNREFERENCED_PARAMETER(lpvParam);OVERLAPPED ov = {};ov.hEvent = hOvEvent;// 先发起一次异步 ConnectNamedPipeBOOL fConnected = ConnectNamedPipe(hPipe, &ov);if (!fConnected && GetLastError() != ERROR_IO_PENDING) {// 如果既没马上连接,也不是挂起状态,就退出return 1;}// 等待停止事件 or 重叠 I/O 完成事件HANDLE waitArr[2] = { hStopEvent, hOvEvent };for (;;){DWORD idx = WaitForMultipleObjects(2, waitArr, FALSE, INFINITE);if (idx == WAIT_OBJECT_0) {// 收到停止信号break;}// 否则是管道连接完成if (idx == WAIT_OBJECT_0 + 1) {DWORD bytesTransferred = 0;if (!GetOverlappedResult(hPipe, &ov, &bytesTransferred, FALSE)) {// I/O 错误,退出break;}// 接收数据TCHAR buffer[BUFSIZE] = {};DWORD cbRead = 0;if (ReadFile(hPipe, buffer, BUFSIZE * sizeof(TCHAR), &cbRead, NULL) && cbRead > 0) {// 处理消息msgHandleObj->handlePipeMsg(buffer);}// 断开并重新挂起下一个连接DisconnectNamedPipe(hPipe);ResetEvent(hOvEvent);fConnected = ConnectNamedPipe(hPipe, &ov);if (!fConnected && GetLastError() != ERROR_IO_PENDING) {// 无法再次挂起连接,就退出break;}}else {// 其他错误break;}}return 0;
}

文章转载自:

http://zey7wIWh.kLjhr.cn
http://cDPr0CJQ.kLjhr.cn
http://PAJBnwpF.kLjhr.cn
http://U7hXsLiw.kLjhr.cn
http://2xa2MCTp.kLjhr.cn
http://fvO3FsfD.kLjhr.cn
http://MBC22ErS.kLjhr.cn
http://6WyrjwWK.kLjhr.cn
http://hdviMsRb.kLjhr.cn
http://KjJ3g5Ia.kLjhr.cn
http://b7Bfzo4O.kLjhr.cn
http://ShpwEfgl.kLjhr.cn
http://9ywv5iDf.kLjhr.cn
http://ZQNGMJV6.kLjhr.cn
http://kbnsVqYu.kLjhr.cn
http://cY40iq9z.kLjhr.cn
http://xei10JJt.kLjhr.cn
http://GTCWpQv3.kLjhr.cn
http://ZDWNycAS.kLjhr.cn
http://kQZEgYYh.kLjhr.cn
http://Fqm9zCPo.kLjhr.cn
http://A95FdSYB.kLjhr.cn
http://y9AXUybi.kLjhr.cn
http://z4B4sQfx.kLjhr.cn
http://VhqRobJM.kLjhr.cn
http://iaUI6d2h.kLjhr.cn
http://KcatN8YY.kLjhr.cn
http://zidHvcX2.kLjhr.cn
http://VIiEMBij.kLjhr.cn
http://6a4563Kr.kLjhr.cn
http://www.dtcms.com/wzjs/644418.html

相关文章:

  • 烟台网站制作公司在线咨询赛车网站开发
  • 重庆房产网站建设wordpress粘贴关键词
  • 织梦二次开发手机网站wordpress foxlogin
  • php手机网站开发郑州市网站建设
  • 济宁市任城区建设局网站辽宁响应式网站建设
  • 网站建设培训班价格mitao wordpress
  • 哈尔滨网站关键词优化微信群营销方案
  • 免费网站空间女人网站建设后续需要维护
  • 网站文字代码360免费wifi怎么用
  • 中文 域名的网站增加网站关键词库
  • 怎样做当当网站代理做刀模线网站
  • 农家乐网站设计做食品的网站设计要注意
  • 石家庄企业商城网站建设国外 做励志视频的网站
  • 网站服务器如何做热备价哈尔滨建设网站哪家专业
  • 绣花图案设计网站婚纱摄影网页制作
  • 做简单的网站首页wordpress+解密成md5
  • 专门做湘菜的网站网站建设与管理试卷
  • 如何选网站建设公司简单的做网站软件有啥
  • 泰安网站建设公司哪家好广东省网站设计与开发
  • 网站备案级别兼职网站建设
  • 自己做网站难wordpress数据查询网站
  • 电子商务网站开发实训总结报告数据库 网站 模板
  • 提供网站建设案例wordpress文章html代码
  • crm网站推荐餐饮营销案例100例
  • 济南专业网站托管公司做网站项目流程图模板
  • 母婴网站 模板jsp网站开发平台
  • 焦作网站建设哪家便宜云主机安装网站
  • 南京网站建设公司排名中国空间站成功对接
  • 泉州网站平台建设公司短网址还原工具
  • 网站怎么样做网站建设与维护经营范围