동기화 함수

다음 함수는 동기화에 사용됩니다.

비동기 함수

비동기 함수 설명
APCProc QueueUserAPC 함수와 함께 사용되는 애플리케이션 정의 콜백 함수입니다.
GetOverlappedResult 겹치는 작업의 결과를 검색합니다.
GetOverlappedResultEx 지정된 시간 제한 간격 내에서 겹치는 작업의 결과를 검색합니다.
QueueUserAPC 지정된 스레드의 APC 큐에 APC(사용자 모드 비동기 프로시저 호출) 개체를 추가합니다.

 

조건 변수 및 SRW 잠금 함수

조건 변수 및 SRW 잠금 함수 Description
AcquireSRWLockExclusive 전용 모드에서 SRW(슬림 판독기/기록기) 잠금을 획득합니다.
AcquireSRWLockShared 공유 모드에서 SRW(슬림 판독기/기록기) 잠금을 획득합니다.
InitializeConditionVariable 조건 변수를 초기화합니다.
InitializeSRWLock SRW(슬림 판독기/기록기) 잠금을 초기화합니다.
ReleaseSRWLockExclusive 전용 모드에서 획득한 SRW(슬림 판독기/기록기) 잠금을 해제합니다.
ReleaseSRWLockShared 공유 모드에서 가져온 SRW(슬림 판독기/기록기) 잠금을 해제합니다.
SleepConditionVariableCS 지정된 조건 변수에서 절전 모드로 전환하고 지정된 중요 섹션을 원자성 연산으로 해제합니다.
SleepConditionVariableSRW 지정된 조건 변수에서 절전 모드로 전환하고 지정된 잠금을 원자성 작업으로 해제합니다.
TryAcquireSRWLockExclusive 전용 모드에서 SRW(슬림 판독기/기록기) 잠금을 획득하려고 시도합니다. 호출에 성공하면 호출 스레드가 잠금의 소유권을 맡습니다.
TryAcquireSRWLockShared 공유 모드에서 SRW(슬림 판독기/기록기) 잠금을 획득하려고 시도합니다. 호출에 성공하면 호출 스레드가 잠금의 소유권을 맡습니다.
WakeAllConditionVariable 지정된 조건 변수에서 대기 중인 모든 스레드를 절 해제합니다.
WakeConditionVariable 지정된 조건 변수에서 대기 중인 단일 스레드를 절 해제합니다.

 

중요 섹션 함수

중요 섹션 함수 Description
DeleteCriticalSection 소유하지 않은 중요한 섹션 개체에서 사용하는 모든 리소스를 해제합니다.
EnterCriticalSection 지정된 임계 영역 개체의 소유권을 기다립니다.
InitializeCriticalSection 중요한 섹션 개체를 초기화합니다.
InitializeCriticalSectionAndSpinCount 중요한 섹션 개체를 초기화하고 중요 섹션의 스핀 수를 설정합니다.
InitializeCriticalSectionEx 스핀 수 및 선택적 플래그를 사용하여 중요한 섹션 개체를 초기화합니다.
LeaveCriticalSection 지정된 중요 섹션 개체의 소유권을 해제합니다.
SetCriticalSectionSpinCount 지정된 중요 섹션의 스핀 수를 설정합니다.
TryEnterCriticalSection 차단하지 않고 중요한 섹션을 입력하려고 시도합니다.

 

이벤트 함수

이벤트 함수 설명
CreateEvent 명명되거나 명명되지 않은 이벤트 개체를 만들거나 엽니다.
CreateEventEx 명명되거나 명명되지 않은 이벤트 개체를 만들거나 열고 개체에 대한 핸들을 반환합니다.
OpenEvent 기존 명명된 이벤트 개체를 엽니다.
PulseEvent 지정된 이벤트 개체를 신호 상태로 설정한 다음 적절한 대기 스레드 수를 해제한 후 서명되지 않은 상태로 다시 설정합니다.
ResetEvent 지정된 이벤트 개체를 부호 없는 상태로 설정합니다.
SetEvent 지정된 이벤트 개체를 신호 상태로 설정합니다.

 

일회성 초기화 함수

일회성 초기화 함수 Description
InitOnceBeginInitialize 일회성 초기화를 시작합니다.
InitOnceComplete 일회성 초기화를 완료합니다.
InitOnceExecuteOnce 지정된 함수를 한 번 성공적으로 실행합니다. 동일한 일회성 초기화 구조를 지정하는 다른 스레드는 현재 스레드에서 실행되는 동안 이 함수를 실행할 수 없습니다.
InitOnceInitialize 일회성 초기화 구조를 초기화합니다.

 

Interlocked 함수

Interlocked 함수 설명
InterlockedAdd 지정된 LONG 값에 대해 원자성 추가 작업을 수행합니다.
InterlockedAddAcquire 지정된 LONG 값에 대해 원자성 추가 작업을 수행합니다. 이 작업은 메모리 정렬 의미 체계 획득을 사용하여 수행됩니다.
InterlockedAddRelease 지정된 LONG 값에 대해 원자성 추가 작업을 수행합니다. 이 작업은 릴리스 메모리 순서 의미 체계를 사용하여 수행됩니다.
InterlockedAddNoFence 지정된 LONG 값에 대해 원자성 추가 작업을 수행합니다. 작업은 메모리 장벽을 사용하지 않고 원자 방식으로 수행됩니다.
InterlockedAdd64 지정된 LONGLONG 값에 대해 원자성 추가 작업을 수행합니다.
InterlockedAddAcquire64 지정된 LONGLONG 값에 대해 원자성 추가 작업을 수행합니다. 이 작업은 메모리 정렬 의미 체계 획득을 사용하여 수행됩니다.
InterlockedAddRelease64 지정된 LONGLONG 값에 대해 원자성 추가 작업을 수행합니다. 이 작업은 릴리스 메모리 순서 의미 체계를 사용하여 수행됩니다.
InterlockedAddNoFence64 지정된 LONGLONG 값에 대해 원자성 추가 작업을 수행합니다. 작업은 메모리 장벽을 사용하지 않고 원자 방식으로 수행됩니다.
InterlockedAnd 지정된 LONG 값에 대해 원자성 AND 연산을 수행합니다.
InterlockedAndAcquire 지정된 LONG 값에 대해 원자성 AND 연산을 수행합니다. 이 작업은 메모리 정렬 의미 체계 획득을 사용하여 수행됩니다.
InterlockedAndRelease 지정된 LONG 값에 대해 원자성 AND 연산을 수행합니다. 이 작업은 릴리스 메모리 순서 의미 체계를 사용하여 수행됩니다.
InterlockedAndNoFence 지정된 LONG 값에 대해 원자성 AND 연산을 수행합니다. 작업은 메모리 장벽을 사용하지 않고 원자 방식으로 수행됩니다.
InterlockedAnd8 지정된 char 값에 대해 원자성 AND 연산을 수행합니다.
InterlockedAnd8Acquire 지정된 char 값에 대해 원자성 AND 연산을 수행합니다. 이 작업은 메모리 정렬 의미 체계 획득을 사용하여 수행됩니다.
InterlockedAnd8Release 지정된 char 값에 대해 원자성 AND 연산을 수행합니다. 이 작업은 릴리스 메모리 순서 의미 체계를 사용하여 수행됩니다.
InterlockedAnd8NoFence 지정된 char 값에 대해 원자성 AND 연산을 수행합니다. 작업은 메모리 장벽을 사용하지 않고 원자 방식으로 수행됩니다.
InterlockedAnd16 지정된 SHORT 값에 대해 원자성 AND 연산을 수행합니다.
InterlockedAnd16Acquire 지정된 SHORT 값에 대해 원자성 AND 연산을 수행합니다. 이 작업은 메모리 정렬 의미 체계 획득을 사용하여 수행됩니다.
InterlockedAnd16Release 지정된 SHORT 값에 대해 원자성 AND 연산을 수행합니다. 이 작업은 릴리스 메모리 순서 의미 체계를 사용하여 수행됩니다.
InterlockedAnd16NoFence 지정된 SHORT 값에 대해 원자성 AND 연산을 수행합니다. 작업은 메모리 장벽을 사용하지 않고 원자 방식으로 수행됩니다.
InterlockedAnd64 지정된 LONGLONG 값에 대해 원자성 AND 연산을 수행합니다.
InterlockedAnd64Acquire 지정된 LONGLONG 값에 대해 원자성 AND 연산을 수행합니다. 이 작업은 메모리 정렬 의미 체계 획득을 사용하여 수행됩니다.
InterlockedAnd64Release 지정된 LONGLONG 값에 대해 원자성 AND 연산을 수행합니다. 이 작업은 릴리스 메모리 순서 의미 체계를 사용하여 수행됩니다.
InterlockedAnd64NoFence 지정된 LONGLONG 값에 대해 원자성 AND 연산을 수행합니다. 작업은 메모리 장벽을 사용하지 않고 원자 방식으로 수행됩니다.
InterlockedBitTestAndComplement 지정된 LONG 값의 지정된 비트를 테스트하고 보완합니다.
InterlockedBitTestAndComplement64 지정된 LONG64 값의 지정된 비트를 테스트하고 보완합니다. 연산은 원자성입니다.
InterlockedBitTestAndResetAcquire 지정된 LONG 값의 지정된 비트를 테스트하고 0으로 설정합니다. 연산은 원자성이며 메모리 정렬 의미 체계 획득을 사용하여 수행됩니다.
InterlockedBitTestAndResetRelease 지정된 LONG 값의 지정된 비트를 테스트하고 0으로 설정합니다. 작업은 원자성이며 메모리 릴리스 의미 체계를 사용하여 수행됩니다.
InterlockedBitTestAndSetAcquire 지정된 LONG 값의 지정된 비트를 테스트하고 1로 설정합니다. 연산은 원자성이며 메모리 정렬 의미 체계 획득을 사용하여 수행됩니다.
InterlockedBitTestAndSetRelease 지정된 LONG 값의 지정된 비트를 테스트하고 1로 설정합니다. 연산은 원자성이며 릴리스 메모리 순서 의미 체계를 사용하여 수행됩니다.
InterlockedBitTestAndReset 지정된 LONG 값의 지정된 비트를 테스트하고 0으로 설정합니다.
InterlockedBitTestAndReset64 지정된 LONG64 값의 지정된 비트를 테스트하고 0으로 설정합니다.
InterlockedBitTestAndSet 지정된 LONG 값의 지정된 비트를 테스트하고 1로 설정합니다.
InterlockedBitTestAndSet64 지정된 LONG64 값의 지정된 비트를 테스트하고 1로 설정합니다.
InterlockedCompare64Exchange128 지정된 값에 대해 원자성 비교 및 교환 작업을 수행합니다. 함수는 지정된 64비트 값과 교환을 비교 결과에 따라 지정된 128비트 값과 비교합니다.
InterlockedCompare64ExchangeAcquire128 지정된 값에 대해 원자성 비교 및 교환 작업을 수행합니다. 함수는 지정된 64비트 값과 교환을 비교 결과에 따라 지정된 128비트 값과 비교합니다. 작업은 메모리 순서 지정 의미 체계를 획득하여 수행됩니다.
InterlockedCompare64ExchangeRelease128 지정된 값에 대해 원자성 비교 및 교환 작업을 수행합니다. 함수는 지정된 64비트 값과 교환을 비교 결과에 따라 지정된 128비트 값과 비교합니다. 이 작업은 릴리스 메모리 순서 의미 체계를 사용하여 수행됩니다.
InterlockedCompareExchange 지정된 값에 대해 원자성 비교 및 교환 작업을 수행합니다. 함수는 두 개의 지정된 32비트 값과 교환을 비교 결과에 따라 다른 32비트 값과 비교합니다.
InterlockedCompareExchangeAcquire 지정된 값에 대해 원자성 비교 및 교환 작업을 수행합니다. 함수는 두 개의 지정된 32비트 값과 교환을 비교 결과에 따라 다른 32비트 값과 비교합니다. 작업은 메모리 순서 지정 의미 체계를 획득하여 수행됩니다.
InterlockedCompareExchangeRelease 지정된 값에 대해 원자성 비교 및 교환 작업을 수행합니다. 함수는 두 개의 지정된 32비트 값과 교환을 비교 결과에 따라 다른 32비트 값과 비교합니다. 교환은 릴리스 메모리 순서 의미 체계를 사용하여 수행됩니다.
InterlockedCompareExchangeNoFence 지정된 값에 대해 원자성 비교 및 교환 작업을 수행합니다. 함수는 두 개의 지정된 32비트 값과 교환을 비교 결과에 따라 다른 32비트 값과 비교합니다. 작업은 메모리 장벽을 사용하지 않고 원자적으로 수행됩니다.
InterlockedCompareExchange64 지정된 값에 대해 원자성 비교 및 교환 작업을 수행합니다. 함수는 두 개의 지정된 64비트 값과 교환을 비교 결과에 따라 다른 64비트 값과 비교합니다.
InterlockedCompareExchangeAcquire64 지정된 값에 대해 원자성 비교 및 교환 작업을 수행합니다. 함수는 두 개의 지정된 64비트 값과 교환을 비교 결과에 따라 다른 64비트 값과 비교합니다. 교환은 메모리 주문 의미 체계 획득을 사용하여 수행됩니다.
InterlockedCompareExchangeRelease64 지정된 값에 대해 원자성 비교 및 교환 작업을 수행합니다. 함수는 두 개의 지정된 64비트 값과 교환을 비교 결과에 따라 다른 64비트 값과 비교합니다. 교환은 릴리스 메모리 순서 의미 체계를 사용하여 수행됩니다.
InterlockedCompareExchangeNoFence64 지정된 값에 대해 원자성 비교 및 교환 작업을 수행합니다. 함수는 두 개의 지정된 64비트 값과 교환을 비교 결과에 따라 다른 64비트 값과 비교합니다. 작업은 메모리 장벽을 사용하지 않고 원자적으로 수행됩니다.
InterlockedCompareExchange16 지정된 값에 대해 원자성 비교 및 교환 작업을 수행합니다. 함수는 두 개의 지정된 16비트 값과 교환을 비교 결과에 따라 다른 16비트 값과 비교합니다.
InterlockedCompareExchange16Acquire 지정된 값에 대해 원자성 비교 및 교환 작업을 수행합니다. 함수는 두 개의 지정된 16비트 값과 교환을 비교 결과에 따라 다른 16비트 값과 비교합니다. 작업은 메모리 주문 의미 체계 획득을 사용하여 수행됩니다.
InterlockedCompareExchange16Release 지정된 값에 대해 원자성 비교 및 교환 작업을 수행합니다. 함수는 두 개의 지정된 16비트 값과 교환을 비교 결과에 따라 다른 16비트 값과 비교합니다. 교환은 릴리스 메모리 순서 의미 체계를 사용하여 수행됩니다.
InterlockedCompareExchange16NoFence 지정된 값에 대해 원자성 비교 및 교환 작업을 수행합니다. 함수는 두 개의 지정된 16비트 값과 교환을 비교 결과에 따라 다른 16비트 값과 비교합니다. 작업은 메모리 장벽을 사용하지 않고 원자적으로 수행됩니다.
InterlockedCompareExchange128 지정된 값에 대해 원자성 비교 및 교환 작업을 수행합니다. 함수는 두 개의 지정된 128비트 값과 교환을 비교 결과에 따라 다른 128비트 값과 비교합니다.
InterlockedCompareExchangePointer 지정된 포인터 값에 대해 원자성 비교 및 교환 작업을 수행합니다. 함수는 두 개의 지정된 포인터 값과 교환을 비교 결과에 따라 다른 포인터 값과 비교합니다.
InterlockedCompareExchangePointerAcquire 지정된 포인터 값에 대해 원자성 비교 및 교환 작업을 수행합니다. 함수는 두 개의 지정된 포인터 값과 교환을 비교 결과에 따라 다른 포인터 값과 비교합니다. 작업은 메모리 순서 지정 의미 체계를 획득하여 수행됩니다.
InterlockedCompareExchangePointerRelease 지정된 포인터 값에 대해 원자성 비교 및 교환 작업을 수행합니다. 함수는 두 개의 지정된 포인터 값과 교환을 비교 결과에 따라 다른 포인터 값과 비교합니다. 이 작업은 릴리스 메모리 순서 의미 체계를 사용하여 수행됩니다.
InterlockedCompareExchangePointerNoFence 지정된 값에 대해 원자성 비교 및 교환 작업을 수행합니다. 함수는 두 개의 지정된 포인터 값과 교환을 비교 결과에 따라 다른 포인터 값과 비교합니다. 작업은 메모리 장벽을 사용하지 않고 원자적으로 수행됩니다.
InterlockedDecrement 지정된 32비트 변수의 값을 원자성 연산으로 감소(1씩 감소)합니다.
InterlockedDecrementAcquire 지정된 32비트 변수의 값을 원자성 연산으로 감소(1씩 감소)합니다. 작업은 메모리 순서 지정 의미 체계를 획득하여 수행됩니다.
InterlockedDecrementRelease 지정된 32비트 변수의 값을 원자성 연산으로 감소(1씩 감소)합니다. 이 작업은 릴리스 메모리 순서 의미 체계를 사용하여 수행됩니다.
InterlockedDecrementNoFence 지정된 32비트 변수의 값을 원자성 연산으로 감소(1씩 감소)합니다. 작업은 메모리 장벽을 사용하지 않고 원자적으로 수행됩니다.
InterlockedDecrement16 지정된 16비트 변수의 값을 원자성 연산으로 감소(1씩 감소)
InterlockedDecrement16Acquire 지정된 16비트 변수의 값을 원자성 연산으로 감소(1씩 감소)합니다. 작업은 메모리 주문 의미 체계 획득을 사용하여 수행됩니다.
InterlockedDecrement16Release 지정된 16비트 변수의 값을 원자성 연산으로 감소(1씩 감소)합니다. 이 작업은 릴리스 메모리 순서 의미 체계를 사용하여 수행됩니다.
InterlockedDecrement16NoFence 지정된 16비트 변수의 값을 원자성 연산으로 감소(1씩 감소)합니다. 작업은 메모리 장벽을 사용하지 않고 원자적으로 수행됩니다.
InterlockedDecrement64 지정된 64비트 변수의 값을 원자성 연산으로 감소(1씩 감소)합니다.
InterlockedDecrementAcquire64 지정된 64비트 변수의 값을 원자성 연산으로 감소(1씩 감소)합니다. 작업은 메모리 순서 지정 의미 체계를 획득하여 수행됩니다.
InterlockedDecrementRelease64 지정된 64비트 변수의 값을 원자성 연산으로 감소(1씩 감소)합니다. 이 작업은 릴리스 메모리 순서 의미 체계를 사용하여 수행됩니다.
InterlockedDecrementNoFence64 지정된 64비트 변수의 값을 원자성 연산으로 감소(1씩 감소)합니다. 작업은 메모리 장벽을 사용하지 않고 원자 방식으로 수행됩니다.
InterlockedExchange 32비트 변수를 지정된 값으로 원자성 연산으로 설정합니다.
InterlockedExchangeAcquire 32비트 변수를 지정된 값으로 원자성 연산으로 설정합니다. 이 작업은 메모리 정렬 의미 체계 획득을 사용하여 수행됩니다.
InterlockedExchangeNoFence 64비트 변수를 지정된 값으로 원자성 연산으로 설정합니다. 작업은 메모리 장벽을 사용하지 않고 원자 방식으로 수행됩니다.
InterlockedExchange8 8비트 변수를 지정된 값으로 원자성 연산으로 설정합니다.
InterlockedExchange16 16비트 변수를 지정된 값으로 원자성 연산으로 설정합니다.
InterlockedExchange16Acquire 16비트 변수를 지정된 값으로 원자성 연산으로 설정합니다. 이 작업은 메모리 획득 순서 의미 체계를 사용하여 수행됩니다.
InterlockedExchange16NoFence 16비트 변수를 지정된 값으로 원자성 연산으로 설정합니다. 작업은 메모리 장벽을 사용하지 않고 원자 방식으로 수행됩니다.
InterlockedExchange64 64비트 변수를 지정된 값으로 원자성 연산으로 설정합니다.
InterlockedExchangeAcquire64 32비트 변수를 지정된 값으로 원자성 연산으로 설정합니다. 이 작업은 메모리 정렬 의미 체계 획득을 사용하여 수행됩니다.
InterlockedExchangeNoFence64 64비트 변수를 지정된 값으로 원자성 연산으로 설정합니다. 작업은 메모리 장벽을 사용하지 않고 원자 방식으로 수행됩니다.
InterlockedExchangePointer 포인터 값 쌍을 원자적으로 교환합니다.
InterlockedExchangePointerAcquire 포인터 값 쌍을 원자적으로 교환합니다. 이 작업은 메모리 정렬 의미 체계 획득을 사용하여 수행됩니다.
InterlockedExchangePointerNoFence 주소 쌍을 원자적으로 교환합니다. 작업은 메모리 장벽을 사용하지 않고 원자 방식으로 수행됩니다.
InterlockedExchangeSubtract 두 값의 원자성 빼기 를 수행합니다.
InterlockedExchangeAdd 두 개의 32비트 값의 원자성 추가를 수행합니다.
InterlockedExchangeAddAcquire 두 개의 32비트 값의 원자성 추가를 수행합니다. 이 작업은 메모리 정렬 의미 체계 획득을 사용하여 수행됩니다.
InterlockedExchangeAddRelease 두 개의 32비트 값의 원자성 추가를 수행합니다. 이 작업은 릴리스 메모리 순서 의미 체계를 사용하여 수행됩니다.
InterlockedExchangeAddNoFence 두 개의 32비트 값의 원자성 추가를 수행합니다. 작업은 메모리 장벽을 사용하지 않고 원자 방식으로 수행됩니다.
InterlockedExchangeAdd64 두 64비트 값의 원자성 추가를 수행합니다.
InterlockedExchangeAddAcquire64 두 64비트 값의 원자성 추가를 수행합니다. 이 작업은 메모리 정렬 의미 체계 획득을 사용하여 수행됩니다.
InterlockedExchangeAddRelease64 두 64비트 값의 원자성 추가를 수행합니다. 이 작업은 릴리스 메모리 순서 의미 체계를 사용하여 수행됩니다.
InterlockedExchangeAddNoFence64 두 64비트 값의 원자성 추가를 수행합니다. 작업은 메모리 장벽을 사용하지 않고 원자 방식으로 수행됩니다.
InterlockedIncrement 지정된 32비트 변수의 값을 원자성 연산으로 증분(1씩 증가)합니다.
InterlockedIncrementAcquire 지정된 32비트 변수의 값을 원자성 연산으로 증분(1씩 증가)합니다. 이 작업은 메모리 획득 순서 의미 체계를 사용하여 수행됩니다.
InterlockedIncrementRelease 지정된 32비트 변수의 값을 원자성 연산으로 증분(1씩 증가)합니다. 이 작업은 릴리스 메모리 순서 의미 체계를 사용하여 수행됩니다.
InterlockedIncrementNoFence 지정된 32비트 변수의 값을 원자성 연산으로 증분(1씩 증가)합니다. 작업은 메모리 장벽을 사용하지 않고 원자 방식으로 수행됩니다.
InterlockedIncrement16 지정된 16비트 변수의 값을 원자성 연산으로 증분(1씩 증가)
InterlockedIncrement16Acquire 지정된 16비트 변수의 값을 원자성 연산으로 증분(1씩 증가)합니다. 이 작업은 메모리 획득 순서 의미 체계를 사용하여 수행됩니다.
InterlockedIncrement16Release 지정된 16비트 변수의 값을 원자성 연산으로 증분(1씩 증가)합니다. 이 작업은 릴리스 메모리 순서 의미 체계를 사용하여 수행됩니다.
InterlockedIncrement16NoFence 지정된 16비트 변수의 값을 원자성 연산으로 증분(1씩 증가)합니다. 작업은 메모리 장벽을 사용하지 않고 원자 방식으로 수행됩니다.
InterlockedIncrement64 지정된 64비트 변수의 값을 원자성 연산으로 증분(1씩 증가)합니다.
InterlockedIncrementAcquire64 지정된 64비트 변수의 값을 원자성 연산으로 증분(1씩 증가)합니다. 이 작업은 메모리 획득 순서 의미 체계를 사용하여 수행됩니다.
InterlockedIncrementRelease64 지정된 64비트 변수의 값을 원자성 연산으로 증분(1씩 증가)합니다. 이 작업은 릴리스 메모리 순서 의미 체계를 사용하여 수행됩니다.
InterlockedIncrementNoFence64 지정된 64비트 변수의 값을 원자성 연산으로 증분(1씩 증가)합니다. 작업은 메모리 장벽을 사용하지 않고 원자 방식으로 수행됩니다.
InterlockedOr 지정된 LONG 값에 대해 원자성 OR 연산을 수행합니다.
InterlockedOrAcquire 지정된 LONG 값에 대해 원자성 OR 연산을 수행합니다. 이 작업은 메모리 정렬 의미 체계 획득을 사용하여 수행됩니다.
InterlockedOrRelease 지정된 LONG 값에 대해 원자성 OR 연산을 수행합니다. 이 작업은 릴리스 메모리 순서 의미 체계를 사용하여 수행됩니다.
InterlockedOrNoFence 지정된 LONG 값에 대해 원자성 OR 연산을 수행합니다. 작업은 메모리 장벽을 사용하지 않고 원자 방식으로 수행됩니다.
InterlockedOr8 지정된 char 값에 대해 원자성 OR 연산을 수행합니다.
InterlockedOr8Acquire 지정된 char 값에 대해 원자성 OR 연산을 수행합니다. 이 작업은 메모리 정렬 의미 체계 획득을 사용하여 수행됩니다.
InterlockedOr8Release 지정된 char 값에 대해 원자성 OR 연산을 수행합니다. 이 작업은 릴리스 메모리 순서 의미 체계를 사용하여 수행됩니다.
InterlockedOr8NoFence 지정된 char 값에 대해 원자성 OR 연산을 수행합니다. 작업은 메모리 장벽을 사용하지 않고 원자 방식으로 수행됩니다.
InterlockedOr16 지정된 SHORT 값에 대해 원자성 OR 연산을 수행합니다.
InterlockedOr16Acquire 지정된 SHORT 값에 대해 원자성 OR 연산을 수행합니다. 이 작업은 메모리 정렬 의미 체계 획득을 사용하여 수행됩니다.
InterlockedOr16Release 지정된 SHORT 값에 대해 원자성 OR 연산을 수행합니다. 이 작업은 릴리스 메모리 순서 의미 체계를 사용하여 수행됩니다.
InterlockedOr16NoFence 지정된 SHORT 값에 대해 원자성 OR 연산을 수행합니다. 작업은 메모리 장벽을 사용하지 않고 원자 방식으로 수행됩니다.
InterlockedOr64 지정된 LONGLONG 값에 대해 원자성 OR 연산을 수행합니다.
InterlockedOr64Acquire 지정된 LONGLONG 값에 대해 원자성 OR 연산을 수행합니다. 이 작업은 메모리 정렬 의미 체계 획득을 사용하여 수행됩니다.
InterlockedOr64Release 지정된 LONGLONG 값에 대해 원자성 OR 연산을 수행합니다. 이 작업은 릴리스 메모리 순서 의미 체계를 사용하여 수행됩니다.
InterlockedOr64NoFence 지정된 LONGLONG 값에 대해 원자성 OR 연산을 수행합니다. 작업은 메모리 장벽을 사용하지 않고 원자 방식으로 수행됩니다.
InterlockedXor 지정된 LONG 값에 대해 원자성 XOR 연산을 수행합니다.
InterlockedXorAcquire 지정된 LONG 값에 대해 원자성 XOR 연산을 수행합니다. 이 작업은 메모리 정렬 의미 체계 획득을 사용하여 수행됩니다.
InterlockedXorRelease 지정된 LONG 값에 대해 원자성 XOR 연산을 수행합니다. 이 작업은 릴리스 메모리 순서 의미 체계를 사용하여 수행됩니다.
InterlockedXorNoFence 지정된 LONG 값에 대해 원자성 XOR 연산을 수행합니다. 작업은 메모리 장벽을 사용하지 않고 원자 방식으로 수행됩니다.
InterlockedXor8 지정된 char 값에 대해 원자성 XOR 연산을 수행합니다.
InterlockedXor8Acquire 지정된 char 값에 대해 원자성 XOR 연산을 수행합니다. 이 작업은 메모리 정렬 의미 체계 획득을 사용하여 수행됩니다.
InterlockedXor8Release 지정된 char 값에 대해 원자성 XOR 연산을 수행합니다. 이 작업은 릴리스 메모리 순서 의미 체계를 사용하여 수행됩니다.
InterlockedXor8NoFence 지정된 char 값에 대해 원자성 XOR 연산을 수행합니다. 작업은 메모리 장벽을 사용하지 않고 원자 방식으로 수행됩니다.
InterlockedXor16 지정된 SHORT 값에 대해 원자성 XOR 연산을 수행합니다.
InterlockedXor16Acquire 지정된 SHORT 값에 대해 원자성 XOR 연산을 수행합니다. 이 작업은 메모리 정렬 의미 체계 획득을 사용하여 수행됩니다.
InterlockedXor16Release 지정된 SHORT 값에 대해 원자성 XOR 연산을 수행합니다. 이 작업은 릴리스 메모리 순서 의미 체계를 사용하여 수행됩니다.
InterlockedXor16NoFence 지정된 SHORT 값에 대해 원자성 XOR 연산을 수행합니다. 작업은 메모리 장벽을 사용하지 않고 원자 방식으로 수행됩니다.
InterlockedXor64 지정된 LONGLONG 값에 대해 원자성 XOR 연산을 수행합니다.
InterlockedXor64Acquire 지정된 LONGLONG 값에 대해 원자성 XOR 연산을 수행합니다. 이 작업은 메모리 정렬 의미 체계 획득을 사용하여 수행됩니다.
InterlockedXor64Release 지정된 LONGLONG 값에 대해 원자성 XOR 연산을 수행합니다. 이 작업은 릴리스 메모리 순서 의미 체계를 사용하여 수행됩니다.
InterlockedXor64NoFence 지정된 LONGLONG 값에 대해 원자성 XOR 연산을 수행합니다. 작업은 메모리 장벽을 사용하지 않고 원자 방식으로 수행됩니다.

 

뮤텍스 함수

뮤텍스 함수 설명
CreateMutex 명명되거나 명명되지 않은 뮤텍스 개체를 만들거나 엽니다.
CreateMutexEx 명명되거나 명명되지 않은 뮤텍스 개체를 만들거나 열고 개체에 대한 핸들을 반환합니다.
OpenMutex 명명된 기존 뮤텍스 개체를 엽니다.
ReleaseMutex 지정된 뮤텍스 개체의 소유권을 해제합니다.

 

프라이빗 네임스페이스 함수

프라이빗 네임스페이스 함수 Description
AddSIDToBoundaryDescriptor 지정된 경계 설명자에 새 SID(보안 식별자)를 추가합니다.
AddIntegrityLabelToBoundaryDescriptor 지정된 경계 설명자에 새 필수 SID(보안 식별자)를 추가합니다.
ClosePrivateNamespace 열려 있는 네임스페이스 핸들을 닫습니다.
CreateBoundaryDescriptor 경계 설명자를 만듭니다.
CreatePrivateNamespace 프라이빗 네임스페이스를 만듭니다.
DeleteBoundaryDescriptor 지정된 경계 설명자를 삭제합니다.
OpenPrivateNamespace 프라이빗 네임스페이스를 엽니다.

 

세마포 함수

세마포 함수 설명
CreateSemaphore 명명되거나 명명되지 않은 세마포 개체를 만들거나 엽니다.
CreateSemaphoreEx 명명되거나 명명되지 않은 세마포 개체를 만들거나 열고 개체에 대한 핸들을 반환합니다.
OpenSemaphore 명명된 기존 세마포 개체를 엽니다.
ReleaseSemaphore 지정된 세마포 개체의 개수를 지정된 양만큼 늘입니다.

 

Singly 연결 목록 함수

Singly 연결 목록 함수 설명
InitializeSListHead Singly 연결된 목록의 헤드를 초기화합니다.
InterlockedFlushSList 연결된 목록의 전체 항목 목록을 플러시합니다.
InterlockedPopEntrySList 연결된 목록의 앞면에서 항목을 제거합니다.
InterlockedPushEntrySList 연결된 목록의 맨 앞에 항목을 삽입합니다.
InterlockedPushListSList 다른 Singly 연결된 목록의 맨 앞에 singly 연결 목록을 삽입합니다.
InterlockedPushListSListEx 다른 Singly 연결된 목록의 맨 앞에 singly 연결 목록을 삽입합니다. 목록에 대한 액세스는 다중 프로세서 시스템에서 동기화됩니다. 이 버전의 메서드는 __fastcall 호출 규칙을 사용하지 않습니다.
QueryDepthSList 지정된 singly 연결된 목록의 항목 수를 검색합니다.
RtlFirstEntrySList 연결된 목록의 첫 번째 항목을 검색합니다.
RtlInitializeSListHead Singly 연결된 목록의 헤드를 초기화합니다. 애플리케이션은 대신 InitializeSListHead 를 호출해야 합니다.
RtlInterlockedFlushSList 연결된 목록의 전체 항목 목록을 플러시합니다. 애플리케이션은 InterlockedFlushSList 를 대신 호출해야 합니다.
RtlInterlockedPopEntrySList 연결된 목록의 앞면에서 항목을 제거합니다. 애플리케이션은 InterlockedPopEntrySList 를 대신 호출해야 합니다.
RtlInterlockedPushEntrySList 연결된 목록의 맨 앞에 항목을 삽입합니다. 애플리케이션은 대신 InterlockedPushEntrySList 를 호출해야 합니다.
RtlQueryDepthSList 지정된 singly 연결된 목록의 항목 수를 검색합니다. 애플리케이션은 QueryDepthSList 를 대신 호출해야 합니다.

 

동기화 장벽 함수

동기화 장벽 함수 Description
DeleteSynchronizationBarrier 동기화 장벽을 삭제합니다.
EnterSynchronizationBarrier 동기화 장벽을 입력하고 적절한 수의 스레드가 장벽에서 랑데부할 때까지 기다립니다.
InitializeSynchronizationBarrier 새 동기화 장벽을 초기화합니다.

 

타이머 큐 타이머 함수

타이머 큐 타이머 함수 설명
ChangeTimerQueueTimer 타이머 큐 타이머를 업데이트.
CreateTimerQueue 타이머에 대한 큐를 만듭니다.
CreateTimerQueueTimer 타이머 큐 타이머를 만듭니다.
DeleteTimerQueue 타이머 큐를 삭제합니다.
DeleteTimerQueueEx 타이머 큐를 삭제합니다.
DeleteTimerQueueTimer 타이머 큐 타이머를 취소합니다.

 

대기 함수

대기 함수 Description
MsgWaitForMultipleObjects 지정된 개체 중 하나 또는 전부가 신호 상태이거나 제한 시간 간격이 경과할 때까지 기다립니다. 개체에는 입력 이벤트 개체가 포함될 수 있습니다.
MsgWaitForMultipleObjectsEx 지정된 개체 중 하나 또는 전부가 신호 상태에 있거나, I/O 완료 루틴 또는 APC(비동기 프로시저 호출)가 스레드에 큐에 대기하거나 시간 제한 간격이 경과할 때까지 기다립니다. 개체의 배열에는 입력 이벤트 개체가 포함될 수 있습니다.
RegisterWaitForSingleObject 스레드 풀의 대기 스레드가 개체를 대기하도록 지시합니다.
SignalObjectAndWait 한 개체에 신호를 전송하고 다른 개체를 단일 작업으로 기다립니다.
UnregisterWait 등록된 대기 작업을 취소합니다.
UnregisterWaitEx 등록된 대기 작업을 취소합니다.
WaitForMultipleObjects 지정된 개체 중 하나 또는 전부가 신호 상태이거나 제한 시간 간격이 경과할 때까지 기다립니다.
WaitForMultipleObjectsEx 지정된 개체 중 하나 또는 전부가 신호 상태에 있거나, I/O 완료 루틴 또는 APC(비동기 프로시저 호출)가 스레드에 큐에 대기하거나 시간 제한 간격이 경과할 때까지 기다립니다.
WaitForSingleObject 지정된 개체가 신호 상태가 되거나 시간 제한 간격이 경과할 때까지 기다립니다.
WaitForSingleObjectEx 지정된 개체가 신호 상태, I/O 완료 루틴 또는 APC(비동기 프로시저 호출)가 스레드에 큐에 대기하거나 시간 제한 간격이 경과할 때까지 기다립니다.
WaitOnAddress 지정된 주소의 값이 변경될 때까지 기다립니다.
WaitOrTimerCallback 타이머 콜백 또는 등록된 대기 콜백의 시작 주소 역할을 하는 애플리케이션 정의 함수입니다.
WakeByAddressAll 주소 값이 변경되는 것을 기다리는 모든 스레드를 해제합니다.
WakeByAddressSingle 주소 값이 변경되는 것을 기다리는 스레드를 해제합니다.

 

Waitable-timer 함수

Waitable-timer 함수 설명
CancelWaitableTimer 지정된 대기 가능 타이머를 비활성 상태로 설정합니다.
CreateWaitableTimer 대기 가능한 타이머 개체를 만들거나 엽니다.
CreateWaitableTimerEx 대기 가능한 타이머 개체를 만들거나 열고 개체에 대한 핸들을 반환합니다.
OpenWaitableTimer 기존 명명된 대기 가능한 타이머 개체를 엽니다.
SetWaitableTimer 지정된 대기 가능 타이머를 활성화합니다.
SetWaitableTimerEx 지정된 대기 가능 타이머를 활성화하고 타이머에 대한 컨텍스트 정보를 제공합니다. .
TimerAPCProc SetWaitableTimer 함수와 함께 사용되는 애플리케이션 정의 타이머 완료 루틴입니다.