读串口中:OVERLAPPED ov; ov.hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
读串口中:OVERLAPPEDov;ov.hEvent=CreateEvent(NULL,FALSE,FALSE,NULL);这句话具体有什么作用,能详细解释一下吗?我是...
读串口中:OVERLAPPED ov;
ov.hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
这句话具体有什么作用,能详细解释一下吗?我是新手,百度到的大多看不太懂 展开
ov.hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
这句话具体有什么作用,能详细解释一下吗?我是新手,百度到的大多看不太懂 展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励30(财富值+成长值)
1个回答
展开全部
这个函数的原型:
HANDLE CreateEvent(
LPSECURITY_ATTRIBUTES lpEventAttributes, // SD
BOOL bManualReset, // reset type
BOOL bInitialState, // initial state
LPCTSTR lpName // object name
);
第一个参数:指向SECURITY_ATTRIBUTES结构体,此结构体决定函数的返回句柄是否可以让子进程继承。如果这个参数为NULL,这个句柄是不能继承的。一般情况下,这个参数设置为NULL。这个函数里面的第二个参数,指定将创建的EVENT是自动复位还是手动复位。如果为TRUE,需要用ResetEvent(HANDLE)函数手动复位状态为无信号,即一旦改EVENT被设置成有信号,则它会一直等到ResetEvent调用时才为无信号状态。如果为FALSE,当一个有信号的等待线程被释放后,系统会自动复位状态为无信号状态。函数里面的第三个参数:指定事件对象的初始状态。如果为TRUE,初始状态为有信号,否则为无信号。第四个参数:如果为NULL,创建一个没有名称的事件。
所以你写的那句应该是当一个等待线程被释放时,自动重置为无信号状态,初始是无信号状态 。
HANDLE CreateEvent(
LPSECURITY_ATTRIBUTES lpEventAttributes, // SD
BOOL bManualReset, // reset type
BOOL bInitialState, // initial state
LPCTSTR lpName // object name
);
第一个参数:指向SECURITY_ATTRIBUTES结构体,此结构体决定函数的返回句柄是否可以让子进程继承。如果这个参数为NULL,这个句柄是不能继承的。一般情况下,这个参数设置为NULL。这个函数里面的第二个参数,指定将创建的EVENT是自动复位还是手动复位。如果为TRUE,需要用ResetEvent(HANDLE)函数手动复位状态为无信号,即一旦改EVENT被设置成有信号,则它会一直等到ResetEvent调用时才为无信号状态。如果为FALSE,当一个有信号的等待线程被释放后,系统会自动复位状态为无信号状态。函数里面的第三个参数:指定事件对象的初始状态。如果为TRUE,初始状态为有信号,否则为无信号。第四个参数:如果为NULL,创建一个没有名称的事件。
所以你写的那句应该是当一个等待线程被释放时,自动重置为无信号状态,初始是无信号状态 。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询