본문 바로가기

hayee Study

[WinAPI] CreateEvent 사용법

반응형

 

안녕하세요 hayee 입니다.
 
소켓 통신 테스트 중 (클라이언트, 동기 통신) 첫 패킷 응답에 대해 패킷 유효성 검사 실패 후 , 그 다음 응답받은 패킷에 대해 유효성 검사를 하는데, 이전 패킷의 데이터를 가지고 처리하는 문제가 생겼다. (Read, Write 패킷 번갈아 가며 요청, 500ms 주기) 
 
트레이스를 찍으면서 원인 추척 중 이벤트 생성 로직에 문제가 있었고, 이를 수정해서 해결하였다.
 
해당 글은 이슈를 수정하면서 다시 개념을 잡기 위한 정리글이다.


▷ CreateEventW

CreateEventW(
    _In_opt_ LPSECURITY_ATTRIBUTES lpEventAttributes,
    _In_ BOOL bManualReset,
    _In_ BOOL bInitialState,
    _In_opt_ LPCWSTR lpName
);

 

- LPSECURITY_ATTRIBUTES lpEventAttributes: 기본 NULL 로 사용.
 
- bManualReset: TRUE 로 하면 수동으로 Non-Signal 상태로 만들어 주어야 한다. ResetEvent 함수를 사용하여 Non-Signal 상태로 만들 수 있다.
 
- bInitialState: 초기 상태 지정. (TRUE: Signal 상태, FALSE: Non-Signal 상태) SetEvent 함수를 사용하여 Signal 상태로 만들 수 있다.
 
-lpName: 이벤트 이름 지정, 같은 Namespace 안에 동일한 이름이 있을 경우 에러 리턴. (ERROR_INVALID_HANDLE)
 
 
 
 

# 틀린 부분이 있다면 댓글 부탁드립니다. #
# 댓글 달아주시면 늦게라도 블로그 방문하도록 할게요! 감사합니다. #

 

 

728x90
반응형