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