亲爱的网友,你能搜到本文中,说明您很希望了解这个问题,以下内容就是我们收集整理的相关资料,希望该答案能满足您的要求

一、定义

ResetEvent函数用于重置一个已经发出过信号的Event类型的同步对象,将Event类型的同步对象的状态由发出信号状态重新变为不发出信号的延续状态。

二、使用方法

1.第一步定义一个Event类型的同步对象,形式为HANDLE hEvent;

2.调用CreateEvent函数,初始化此Event类型的同步对象,形式为hEvent = CreateEvent(lpEventAttributes,bManualReset,bInitialState,lpName);

3.调用SetEvent函数,将Event类型的同步对象设置为发出信号状态,形式为SetEvent(hEvent);

4.最后调用ResetEvent函数,将Event类型的同步对象从发出信号状态重置为不发出信号状态,形式为ResetEvent(hEvent);

三、参数

ResetEvent函数采用一个参数:

(1)HANDLE hEvent:指定为Event类型的同步对象句柄。

四、返回值

调用ResetEvent函数后,会返回两个值:

(1)如果ResetEvent函数操作成功,那么返回值为非零值,表示对象的状态已经改变;

(2)如果ResetEvent函数操作失败,那么返回值为零值,表示对象的状态未受改变。

五、示例

例:比如在WaitForSingleObject函数中,当两个线程同时访问该函数时,就可以采用ResetEvent函数来将传入的Event类型的同步对象的状态从发出信号状态重置为不发出信号的状态,以便第二个线程再次访问WaitForSingleObject函数时也可以等待那个Event类型的同步对象被另一线程设置为发出信号状态:

HANDLE hEvent;\t//定义Event类型的同步对象

hEvent = CreateEvent(lpEventAttributes, bManualReset, bInitialState, lpName); //创建Event类型的同步对象

SetEvent(hEvent); //设置Event类型的同步对象为发出信号状态

(1)ResetEvent函数定义:

ResetEvent函数是Windows操作系统中定义的函数,它用于复位指定事件,一般用作进程间通信。此函数可以将由CreateEvent函数所创建的指定事件重置为未激活状态,其原型为:

BOOL ResetEvent(

HANDLE hEvent

);

其中参数hEvent是CreateEvent所返回的句柄,而返回值则用来表示本函数是否调用成功,若函数调用成功则返回非零值,失败则返回零。

(2) ResetEvent函数的用法:

1)使用CreateEvent函数先创建一个或多个事件,并获取它们的句柄;

2)然后,如果需要,使用ResetEvent函数将该事件重置为未激活状态;

3)接着,使用这些事件实现进程间通信;

4)最后,使用CloseHandle函数关闭掉该句柄,表示结束了事件的使用。

不知这篇文章是否帮您解答了与标题相关的疑惑,如果您对本篇文章满意,请劳驾您在文章结尾点击“顶一下”,以示对该文章的肯定,如果您不满意,则也请“踩一下”,以便督促我们改进该篇文章。如果您想更进步了解相关内容,可查看文章下方的相关链接,那里很可能有你想要的内容。最后,感谢客官老爷的御览