동기화 함수
다음 함수는 동기화에 사용됩니다.
- 비동기 함수
- 조건 변수 및 SRW 잠금 함수
- 중요 섹션 함수
- 이벤트 함수
- 일회성 초기화 함수
- Interlocked Functions
- 뮤텍스 함수
- 프라이빗 네임스페이스 함수
- 세마포 함수
- Singly 연결 목록 함수
- 동기화 장벽 함수
- 타이머 큐 타이머 함수
- 대기 함수
- Waitable-timer 함수
비동기 함수
비동기 함수 | 설명 |
---|---|
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 함수와 함께 사용되는 애플리케이션 정의 타이머 완료 루틴입니다. |