Event(事件)
2024-10-19 03:28:04
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、
最新文章
- 关于Java语言中那些修饰符
- web编程
- C# ADO.NET (sql语句连接方式)(增,删,改)
- myEclipse中改了项目名,出现的问题 和 错误java.io.IOException: tmpFile.renameTo(classFile) failed
- iOS多线程-02-GCD
- iOS开发之网络数据解析--中文输出
- Different ways to invoke a shared object/share library(.so)
- 5种IO模型
- easy-ui datagrid
- 【转】基于 Android NDK 的学习之旅-----数据传输(引用数据类型)
- USACO Ordered Fractions
- BZOJ-1045-[HAOI2008] 糖果传递(中位数原理)
- 33.Linux-实现U盘自动挂载(详解)
- wing带你玩转自定义view系列(1) 仿360内存清理效果
- 对Tomcat 8.0进行JVM层面的优化(基于Oracle JDK 8)
- swift 实现拍照 选择相册
- MyQR库自动为网址生成二维码
- nginx按日期分割日志
- mysql 主键和唯一索引的区别
- 20150519 开始第一个Sprint
热门文章
- Kattis之旅——Perfect Pth Powers
- camera按键采集图像及waitKey的用法(转)
- python基础:re模块匹配时贪婪和非贪婪模式
- Webstorm/Phpstorm中设置连接FTP,并快速进行文件比较,上传下载,同步等操作
- 第一章-硬件组成及linux发展历史(1)
- 【题解】Luogu P2522 [HAOI2011]Problem b
- 18位身份证验证(Java)
- 20155201 李卓雯 《网络对抗技术》实验一 逆向及Bof基础
- bzoj 3262 陌上花开 - CDQ分治 - 树状数组
- django使用session缓存Redis