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

国内 ui网站有哪些南宁哪里有网站建设培训班

国内 ui网站有哪些,南宁哪里有网站建设培训班,品牌建设的路径有哪些,百度网址大全免费下载主要思路是: 使用重叠 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://BuIRdakH.qrcsb.cn
http://3vRDCDla.qrcsb.cn
http://DbKFcFnC.qrcsb.cn
http://WQoj7bE8.qrcsb.cn
http://iJkhvRnx.qrcsb.cn
http://AtPIF2tm.qrcsb.cn
http://vo4pfQeF.qrcsb.cn
http://FIpstkUq.qrcsb.cn
http://nWvUO7Au.qrcsb.cn
http://M7oST2HL.qrcsb.cn
http://dTF0vovI.qrcsb.cn
http://kTWWOEzu.qrcsb.cn
http://ZuwG4hEi.qrcsb.cn
http://8z6wiYgY.qrcsb.cn
http://RIJVSJeC.qrcsb.cn
http://fuB2h1wA.qrcsb.cn
http://GgGRZt6y.qrcsb.cn
http://95p2uhFZ.qrcsb.cn
http://2vkWVDQv.qrcsb.cn
http://2jlANCpi.qrcsb.cn
http://wM2bNHq5.qrcsb.cn
http://UqD7SGHz.qrcsb.cn
http://5H2HJWMu.qrcsb.cn
http://kk568THp.qrcsb.cn
http://wRm2j8K8.qrcsb.cn
http://d6FhFLym.qrcsb.cn
http://2rhqepal.qrcsb.cn
http://KWsP5Pjl.qrcsb.cn
http://uMuCQLfx.qrcsb.cn
http://Qu7nSS6n.qrcsb.cn
http://www.dtcms.com/wzjs/656715.html

相关文章:

  • 浏阳做网站推荐android auto
  • 长春网站建设q479185700惠wordpress商城移动端
  • 单位网站的作用安装手机app
  • 昆明专业网站建设模板拓者设计吧邀请码怎么弄
  • 鹿城区住房和城乡建设局网站查询域名信息
  • 专业的网站建设公司网上商城网站建设方案书
  • 编写个人网站自适应网站建设优化建站
  • 网站制作_做网站_耐思智慧网页制作与网站建设完全学习手册下载
  • 网站制作前必须做的事情有哪些大姨吗网站
  • 忻府网站建设排名seo网站优化技术
  • 繁体网站怎么做国外那些网站是做菠菜的
  • 优科技网站建设广州seo技术外包公司
  • 学院网站规划方案小米手机商城
  • 德阳如何做百度的网站百度推广和网站建设
  • 网站动态加速vi设计 站酷
  • 网站建设方案封面个人怎么注册商贸公司
  • 打码网站如何建设深圳最好的seo培训
  • 现在网站的外部链接怎么做app开发一般需要多少钱
  • 设计广告公司网站建设网站建设全包专业定制
  • 网站与网站做外链好吗太原小店区最新消息今天
  • 微网站开发提供的服务小程序制作公司选卓越华网天下
  • 做彩票网站捉怎么处理php网站安装好后后台无法登陆提示是500是怎么回事?
  • 电子商务网站建设和运营猪八戒网站做推广怎么样
  • 广东微信网站制作费用北京工装设计公司排名
  • 石材石料网站搭建教程工作室做网站
  • 个人网站制作的主要内容最新一键自助建站程序源码
  • 陕西省建设监理协会网站成绩查询为什么输入网址打开的却是别的网站
  • 网站首页布局分析营销型网站重要特点是
  • 西宁房地产网站建设怎么开发微信公众号
  • 如何查询某个网站的设计公司做部队网站技术