CreateEventA 函数理解

HANDLE CreateEventA(
  LPSECURITY_ATTRIBUTES lpEventAttributes,
  BOOL                  bManualReset,
  BOOL                  bInitialState,
  LPCSTR                lpName
);

lpEventAttributes,一个指向 SECURITY_ATTRIBUTES结构提的指针,如果这个参数是NULL,这个句柄不能被它的子进程继承。

bManualReset,如果这个参数是TRUE, 这个函数创建一个需要手动设置的event对象,需要使用ResentEvent函数去设置event为无信号状态。如果这个参数是FALSE,这个函数创建一个自动设置event状态的对象,系统自动设置event的状态为无信号,在一个单个的waiting执行结束。

bInitialState, 如果这个参数是TRUE,event初始化的状态是有信号的,反之,无信号。

lpName, event的对象的名称。名称限制在MAX_PATH字节大小之内。名字内容大小写敏感。

HANDLE hEvent = CreateEventA(NULL, FALSE, FALSE, NULL)//创建的event对象是无信号,每次waiting执行完,信号设置为无信号状态。
HANDLE hEvent = CreateEventA(NULL, TRUE, FALSE, NULL);
WaitForSingleObject(hEvent, 1000);
SetEvent(HEvent);//设置有信号
每次执行waiting,信号不变。

猜你喜欢

转载自blog.csdn.net/jiaojinlin/article/details/86506111
今日推荐