동기화에 사용되는 함수는 다음과 같습니다.
- 비동기 함수
- 조건 변수 및 SRW 잠금 함수
- 중요 섹션 함수
- 이벤트 함수
- 일회성 초기화 함수
- 연동 함수
- 뮤텍스 함수
- 프라이빗 네임스페이스 함수
- 세마포 함수
- Singly 연결 목록 함수
- 동기화 장벽 함수
- 타이머 큐 타이머 함수
- 대기 함수
- waitable-timer 함수
비동기 함수
| 비동기 함수 | 묘사 |
|---|---|
| APCProc | QueueUserAPC 함수와 함께 사용되는 애플리케이션 정의 콜백 함수입니다. |
| GetOverlappedResult | 겹치는 작업의 결과를 검색합니다. |
| GetOverlappedResultEx | 지정된 시간 제한 간격 내에서 겹치는 작업의 결과를 검색합니다. |
| queueUserAPC | 지정된 스레드의 APC 큐에 사용자 모드 APC(비동기 프로시저 호출) 개체를 추가합니다. |
조건 변수 및 SRW 잠금 함수
| 조건 변수 및 SRW 잠금 함수 | 묘사 |
|---|---|
| AcquireSRWLockExclusive | 전용 모드에서 SRW(슬림 판독기/기록기) 잠금을 획득합니다. |
| AcquireSRWLockShared | 공유 모드에서 SRW(슬림 판독기/기록기) 잠금을 획득합니다. |
| InitializeConditionVariable | 조건 변수를 초기화합니다. |
| InitializeSRWLock | SRW(슬림 판독기/기록기) 잠금을 초기화합니다. |
| releaseSRWLockExclusive | 전용 모드에서 획득한 SRW(슬림 판독기/기록기) 잠금을 해제합니다. |
| releaseSRWLockShared | 공유 모드에서 획득한 SRW(슬림 판독기/기록기) 잠금을 해제합니다. |
| SleepConditionVariableCS | 지정된 조건 변수에서 절전 모드로 이동하고 지정된 중요 섹션을 원자성 연산으로 해제합니다. |
| SleepConditionVariableSRW | 지정된 조건 변수에서 절전 모드로 이동하고 지정된 잠금을 원자성 작업으로 해제합니다. |
| TryAcquireSRWLockExclusive | 전용 모드에서 SRW(슬림 판독기/기록기) 잠금을 획득하려고 시도합니다. 호출에 성공하면 호출 스레드가 잠금의 소유권을 맡습니다. |
| tryAcquireSRWLockShared | 공유 모드에서 SRW(슬림 판독기/기록기) 잠금을 획득하려고 시도합니다. 호출에 성공하면 호출 스레드가 잠금의 소유권을 맡습니다. |
| WakeAllConditionVariable | 지정된 조건 변수에서 대기 중인 모든 스레드를 해제합니다. |
| wakeConditionVariable | 지정된 조건 변수에서 대기 중인 단일 스레드를 절 해제합니다. |
중요 섹션 함수
| 중요 섹션 함수 | 묘사 |
|---|---|
| DeleteCriticalSection | 소유하지 않은 중요한 섹션 개체에서 사용하는 모든 리소스를 해제합니다. |
| EnterCriticalSection | 지정된 중요 섹션 개체의 소유권을 기다립니다. |
| InitializeCriticalSection | 중요한 섹션 개체를 초기화합니다. |
| InitializeCriticalSectionAndSpinCount | 중요한 섹션 개체를 초기화하고 중요한 섹션의 스핀 수를 설정합니다. |
| InitializeCriticalSectionEx | 스핀 수 및 선택적 플래그를 사용하여 중요한 섹션 개체를 초기화합니다. |
| LeaveCriticalSection | 지정된 중요 섹션 개체의 소유권을 해제합니다. |
| SetCriticalSectionSpinCount | 지정된 중요 섹션의 스핀 수를 설정합니다. |
| tryEnterCriticalSection | 차단 없이 중요한 섹션을 입력하려고 시도합니다. |
이벤트 함수
| 이벤트 함수 | 묘사 |
|---|---|
| CreateEvent | 명명되거나 명명되지 않은 이벤트 개체를 만들거나 엽니다. |
| CreateEventEx | 명명되거나 명명되지 않은 이벤트 개체를 만들거나 열고 개체에 대한 핸들을 반환합니다. |
| OpenEvent | 명명된 기존 이벤트 개체를 엽니다. |
| PulseEvent | 지정된 이벤트 개체를 신호 상태로 설정한 다음 적절한 대기 스레드 수를 해제한 후 서명되지 않은 상태로 다시 설정합니다. |
| ResetEvent | 지정된 이벤트 개체를 서명되지 않은 상태로 설정합니다. |
| setEvent | 지정된 이벤트 개체를 신호 상태로 설정합니다. |
일회성 초기화 함수
| 일회성 초기화 함수 | 묘사 |
|---|---|
| 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 | 지정된 뮤텍스 개체의 소유권을 해제합니다. |
프라이빗 네임스페이스 함수
| 프라이빗 네임스페이스 함수 | 묘사 |
|---|---|
| AddSIDToBoundaryDescriptor | 지정된 경계 설명자에 새 SID(보안 식별자)를 추가합니다. |
| AddIntegrityLabelToBoundaryDescriptor | 지정된 경계 설명자에 새 필수 SID(보안 식별자)를 추가합니다. |
| ClosePrivateNamespace | 열린 네임스페이스 핸들을 닫습니다. |
| CreateBoundaryDescriptor | 경계 설명자를 만듭니다. |
| CreatePrivateNamespace | 프라이빗 네임스페이스를 만듭니다. |
| DeleteBoundaryDescriptor | 지정된 경계 설명자를 삭제합니다. |
| OpenPrivateNamespace | 프라이빗 네임스페이스를 엽니다. |
세마포 함수
| 세마포 함수 | 묘사 |
|---|---|
| createSemaphore | 명명되거나 명명되지 않은 세마포 개체를 만들거나 엽니다. |
| createSemaphoreEx | 명명되거나 명명되지 않은 세마포 개체를 만들거나 열고 개체에 대한 핸들을 반환합니다. |
| openSemaphore | 명명된 기존 세마포 개체를 엽니다. |
| ReleaseSemaphore | 지정된 세마포 개체의 개수를 지정된 양만큼 늘림 |
Singly 연결 목록 함수
| Singly 연결 목록 함수 | 묘사 |
|---|---|
| InitializeSListHead | 적절하게 연결된 목록의 헤드를 초기화합니다. |
| interlockedFlushSList | 전체적으로 연결된 목록에 있는 항목의 전체 목록을 플러시합니다. |
| InterlockedPopEntrySList | 자동으로 연결된 목록의 맨 앞에서 항목을 제거합니다. |
| InterlockedPushEntrySList | 자동으로 연결된 목록의 맨 앞에 항목을 삽입합니다. |
| interlockedPushListSList | 다른 Singly 연결된 목록의 맨 앞에 Singly 연결된 목록을 삽입합니다. |
| InterlockedPushListSListEx | 다른 Singly 연결된 목록의 맨 앞에 Singly 연결된 목록을 삽입합니다. 목록에 대한 액세스는 다중 프로세서 시스템에서 동기화됩니다. 이 버전의 메서드는 __fastcall 호출 규칙을 사용하지 않습니다. |
| queryDepthSList | 지정된 singly 연결된 목록의 항목 수를 검색합니다. |
| RtlFirstEntrySList | 자동으로 연결된 목록의 첫 번째 항목을 검색합니다. |
| RtlInitializeSListHead | 적절하게 연결된 목록의 헤드를 초기화합니다. 애플리케이션은 대신 InitializeSListHead 호출해야 합니다. |
| RtlInterlockedFlushSList | 전체적으로 연결된 목록에 있는 항목의 전체 목록을 플러시합니다. 애플리케이션은 InterlockedFlushSList 대신 호출해야 합니다. |
| RtlInterlockedPopEntrySList | 자동으로 연결된 목록의 맨 앞에서 항목을 제거합니다. 애플리케이션은 InterlockedPopEntrySList 대신 호출해야 합니다. |
| RtlInterlockedPushEntrySList | 자동으로 연결된 목록의 맨 앞에 항목을 삽입합니다. 애플리케이션은 InterlockedPushEntrySList 대신 호출해야 합니다. |
| RtlQueryDepthSList | 지정된 singly 연결된 목록의 항목 수를 검색합니다. 애플리케이션은 QueryDepthSList 대신 호출해야 합니다. |
동기화 장벽 함수
| 동기화 장벽 함수 | 묘사 |
|---|---|
| DeleteSynchronizationBarrier | 동기화 장벽을 삭제합니다. |
| EnterSynchronizationBarrier | 동기화 장벽을 입력하고 적절한 수의 스레드가 장벽에서 랑데부할 때까지 기다립니다. |
| InitializeSynchronizationBarrier | 새 동기화 장벽을 초기화합니다. |
타이머 큐 타이머 함수
| 타이머 큐 타이머 함수 | 묘사 |
|---|---|
| ChangeTimerQueueTimer | 타이머 큐 타이머를 업데이트합니다. |
| CreateTimerQueue | 타이머에 대한 큐를 만듭니다. |
| CreateTimerQueueTimer | 타이머 큐 타이머를 만듭니다. |
| deleteTimerQueue | 타이머 큐를 삭제합니다. |
| DeleteTimerQueueEx | 타이머 큐를 삭제합니다. |
| DeleteTimerQueueTimer | 타이머 큐 타이머를 취소합니다. |
대기 함수
| 대기 함수 | 묘사 |
|---|---|
| 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 함수와 함께 사용되는 애플리케이션 정의 타이머 완료 루틴입니다. |