프로그래밍 노트

플랫폼 SDK Windows의 동기/비동기 관련 함수 본문

카테고리 없음

플랫폼 SDK Windows의 동기/비동기 관련 함수

띠리 2007. 7. 13. 15:02

플랫폼 SDK Windows의 동기/비동기 관련 함수


함수 설명
CancelWaitableTimer 지정한 "대기가능" 타이버를 엑티브가 아닌 상태로 설정한다.
ChangeTimerQueueTimer CreateTimerQueueTimer 함수로 작성한 타이머 큐 타이머를 갱신한다.
CreateEvent 유명(有名:이름이 있는 or 이름이 붙어있는)하거나 무명(無名:이름이 없는 or 이름이 붙어있지않은)한 이벤트 오브젝트를 만들거나 오픈한다.
CreateMutex 유명하거나 무명한 뮤텍스 (mutually exclusive;상호배타) 오브젝트를 만들거나 오픈한다.
CreateSemaphore 유명하거나 무명한 세마포어 오브젝트를 만들거나 오픈한다.
CreateTimerQueue 타이머 큐를 만든다. 타이머 큐는 지정한 시간에 콜백 함수를 호출하기위한 가벼운 오브젝트이다.
CreateTimerQueueTimer 타이머 큐 타이머를 만든다. 이 타이머는 지정한 시간이 경과되면 시그널 상태로 된다.
CreateWaitableTimer “대기가능” 타이머 오브젝트를 만든다.
DeleteCriticalSection 소유하지않은 크리티컬 섹션 오브젝트를 지정하여, 그 오브젝트를 사용하고 있는 모든 리소스를 풀어준다.
DeleteTimerQueueEx 타이머 큐를 삭제한다. 큐에 남아있는 처리되지않은 타이머는 취소되고 삭제된다.
DeleteTimerQueueTimer 타이머 큐 타이머를 취소한다.
EnterCriticalSection 지정된 크리티컬 섹션 오브젝트의 소유권을 얻을때 까지 대기한다.
GetOverlappedResult 지정한 파일, 유명한 파이프, 통신 디바이스에 관한 오버랩(비동기) 조작의 결과를 반환한다.
InitializeCriticalSection 지정한 크리티컬 섹션 오브젝트를 초기화한다.
InitializeCriticalSectionAndSpinCount 크리티컬 섹선 오브젝트를 초기화하고 크리티컬 섹션의 스핀 카운터를 설정한다.
InterlockedCompareExchange 파라미터 Destination Comperand 로 지정한 값의 원자비교를 하여 비교 결과를 바탕으로 값을 바꾼다.
InterlockedCompareExchangePointer Destination 파라미터와 Comperand  파라미터로 지정한 값을 비교한다. 비교결과에 따라서 2개의 겂을 바꾼다.
InterlockedDecrement 지정한 변수의 값을 1씩 감소시킨다. 그 결과 얻어진 값을 체크한다.
InterlockedExchange 지정된 1개의 변수의 내용과 다른 하나의 값의 교환을 일괄처리한다.
InterlockedExchangeAdd 수를 더하는 변수에 증감한 값의 원자 가산을 한다.
InterlockedExchangePointer 지정한 두개의 값을 바꾼다.
InterlockedIncrement 지정된 변수의 값은 1씩 증가시킨다. 그 결과 얻어진 값을 체크한다.
LeaveCriticalSection 지정된 크리티컬 섹션 오브젝트의 소유권을 풀어준다.
MsgWaitForMultipleObjects 다음의 한 조건이 만족되면 제어를 돌려준다.
MsgWaitForMultipleObjectsEx 다음의 한 조건이 만족되면 제어를 돌려준다.
OpenEvent 기존의 유명한 이벤트 오브젝트를 오픈한다.
OpenMutex 지존의 유명한 뮤텍스 오브젝트를 오픈한다.
OpenSemaphore 기존의 유명한 세마포어 오브젝트를 오픈한다.
OpenWaitableTimer 기존의 유명한 "대기가능" 타이머 오브젝트의 핸들을 얻는다.
PulseEvent 지정된 이벤트 오브젝트를 시그널 상태로 설정하고 대기 스래드가 있는 경우는 적절한 수의 스레드를 풀어주고, 그 후에 이벤트 오브젝트를 비시그널 상태로 돌려놓는다.
QueueUserAPC 유저 모드 비동기 프로시져 호출(APC) 오브젝트를 지정한 스레트의 APC큐에 추가한다.
RegisterWaitForSingleObject 지정한 콜백 함수를 스레드 풀의 큐에 넣는다.
ReleaseMutex 지정한 뮤텍스(mutually exclusive ; 상호배타) 오브젝트의 소유권을 풀어준다.
ReleaseSemaphore 지정한 세마포어 오브젝트의 카운터를 지정한 수 만큼 증가시킨다.
ResetEvent 지정한 이벤트 오브젝트를 비시그널 상태로 설정한다.
SetCriticalSectionSpinCount 지정한 크리티컬 섹션의 스핀 카운터를 설정한다.
SetEvent 지정된 오브젝트를 시그널 상태로 설정한다.
SetWaitableTimer 지정한 "대기가능" 타이머를 엑티브로 한다.
SignalObjectAndWait 오브젝트의 통지와 다른 오브젝트의 대기를 원자적으로 갈 수 있다.
TimerAPCProc 어플리케이션 정의의 타이머 완료 루틴이다.
CreateWaitableTimer 함수를 호출하고 그 함수의 어드레스를 지정한다.
TryEnterCriticalSection 크리티컬 섹션의 엔트르를 막지않고 테스트한다.
UnregisterWaitEx RegisterWaitForSingleObject 함수에 의해 발행된 등록이 된 대기 동작을 취소한다.
WaitForMultipleObjects 지정된 오브젝트의 한 개 또는 모든 것이 시그널 상태로 되거나 또는 타임아웃 시간에 경과하면 제어를 돌려준다.
WaitForMultipleObjectsEx 지정된 오브젝트의 한 개 또는 모든 것이 시그널 상태가 되거나 I/O 완료 루틴 또는 APC가 스레트의 큐에 놓여졌거나 또는 타임아웃 시간이 경과하면 제어를 돌려준다.
WaitForSingleObject 지정한 오브젝트가 시그널 상태가 되거나 또는 타임아웃 시간이 경과하면 제어를 돌려준다.
WaitForSingleObjectEx 지정한 오브젝트가 시그널 상태가 되거나  I/O 완료 루틴 또는 APC가 스레트의 큐에 놓여졌거나 또는 타임아웃 시간이 경과하면 제어를 돌려준다.
WaitOrTimerCallback 스레드의 개시 어드레스의 역할을 하는 어플리케이션 정의 함수이다.
이 어드레스는 CreateTimerQueueTimer 함수, RegisterWaitForSingleObject 함수를 호출할 때 지정한다.
Comments