1、ZC:之前一直没怎么用过 OpenEvent(...),这次试用居然老是报错...

  弄了一下,貌似是 OpenEvent(...)的第一个参数设置成0了...

FhEvent_CommunicatorServer = CreateEvent(NULL, false, false, EVENT_COMMUNICATOR_SERVER);
FhEvent_CommunicatorServer = OpenEvent(EVENT_ALL_ACCESS, false, EVENT_COMMUNICATOR_SERVER);

  ZC:(20180418) CreateEvent(...) 和 OpenEvent(...) 可能返回的 HANDLE的值 居然是可以不同的,但是 它们操作的是同一个 事件对象。我还以为 OpenEvent(...) 出错了...

2、

关于命名CreateEvent权限的问题

  (http://blog.csdn.net/collin1211/article/details/3322411

  在服务程序中CreateEvent,当LPSECURITY_ATTRIBUTES这个参数传NULL的时候,将使用默认访问控制。           
  服务程序中的默认控制就是不允许桌面程序访问这些对象,所以服务中打开的Event,桌面无法打开,GetLastError()的值为5(ERROR_ACCESS_DENIED) 返回访问拒绝。
  服务中创建的内核对象要想在普通应用程序中使用,必须指定安全描述符。

SECURITY_DESCRIPTOR SecurityDescriptor = {  };
::InitializeSecurityDescriptor(&SecurityDescriptor, );
::SetSecurityDescriptorDacl(&SecurityDescriptor, TRUE, NULL, FALSE);
SECURITY_ATTRIBUTES SecurityAttribute = { };
SecurityAttribute.nLength = sizeof(SecurityAttribute);
SecurityAttribute.lpSecurityDescriptor = &SecurityDescriptor;
SecurityAttribute.bInheritHandle = TRUE;
m_hEventForStop = ::CreateEvent(&SecurityAttribute, TRUE, FALSE, _defStopEventName);

  OpenEvent就按一般的写法即可,例:

HANDLE hStopEvent = ::OpenEvent(EVENT_MODIFY_STATE, FALSE, _defStopEventName);
if (hStopEvent)
{
::SetEvent(hStopEvent);
::CloseHandle(hStopEvent);
}

3、

4、

5、

最新文章

  1. 关于Java语言中那些修饰符
  2. web编程
  3. C# ADO.NET (sql语句连接方式)(增,删,改)
  4. myEclipse中改了项目名,出现的问题 和 错误java.io.IOException: tmpFile.renameTo(classFile) failed
  5. iOS多线程-02-GCD
  6. iOS开发之网络数据解析--中文输出
  7. Different ways to invoke a shared object/share library(.so)
  8. 5种IO模型
  9. easy-ui datagrid
  10. 【转】基于 Android NDK 的学习之旅-----数据传输(引用数据类型)
  11. USACO Ordered Fractions
  12. BZOJ-1045-[HAOI2008] 糖果传递(中位数原理)
  13. 33.Linux-实现U盘自动挂载(详解)
  14. wing带你玩转自定义view系列(1) 仿360内存清理效果
  15. 对Tomcat 8.0进行JVM层面的优化(基于Oracle JDK 8)
  16. swift 实现拍照 选择相册
  17. MyQR库自动为网址生成二维码
  18. nginx按日期分割日志
  19. mysql 主键和唯一索引的区别
  20. 20150519 开始第一个Sprint

热门文章

  1. Kattis之旅——Perfect Pth Powers
  2. camera按键采集图像及waitKey的用法(转)
  3. python基础:re模块匹配时贪婪和非贪婪模式
  4. Webstorm/Phpstorm中设置连接FTP,并快速进行文件比较,上传下载,同步等操作
  5. 第一章-硬件组成及linux发展历史(1)
  6. 【题解】Luogu P2522 [HAOI2011]Problem b
  7. 18位身份证验证(Java)
  8. 20155201 李卓雯 《网络对抗技术》实验一 逆向及Bof基础
  9. bzoj 3262 陌上花开 - CDQ分治 - 树状数组
  10. django使用session缓存Redis