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,信號不變。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章