同步函数
以下函数用于同步。
- 异步函数
- 条件变量和 SRW 锁函数
- 关键节函数
- 事件函数
- 一次性初始化函数
- 互锁函数
- 互斥函数
- 专用命名空间函数
- 信号灯函数
- 单独链接列表函数
- 同步屏障函数
- 计时器队列计时器函数
- 等待函数
- 可等待计时器函数
异步函数
异步函数 | 说明 |
---|---|
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 | 初始化一次性初始化结构。 |
互锁函数
互锁函数 | 说明 |
---|---|
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 | 对指定的 字符 值执行原子 AND 操作。 |
InterlockedAnd8Acquire | 对指定的 字符 值执行原子 AND 操作。 该操作是使用获取内存排序语义执行的。 |
InterlockedAnd8Release | 对指定的 字符 值执行原子 AND 操作。 该操作使用释放内存排序语义执行。 |
InterlockedAnd8NoFence | 对指定的 字符 值执行原子 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 位变量的值作为原子操作减少一个。 |
InterlockedDecrementAcquire | 递减 () 指定 32 位变量的值作为原子操作减少一个。 该操作通过获取内存排序语义执行。 |
InterlockedDecrementRelease | 递减 () 指定 32 位变量的值作为原子操作减少一个。 该操作使用释放内存排序语义执行。 |
InterlockedDecrementNoFence | 递减 () 指定 32 位变量的值作为原子操作减少一个。 操作以原子方式执行,但不使用内存屏障 |
InterlockedDecrement16 | 递减 (减少一) 指定 16 位变量的值作为原子操作 |
InterlockedDecrement16Acquire | 递减 (递减 1) 指定 16 位变量的值作为原子操作。 该操作通过获取内存排序语义执行 |
InterlockedDecrement16Release | 递减 (递减 1) 指定 16 位变量的值作为原子操作。 使用释放内存排序语义执行操作 |
InterlockedDecrement16NoFence | 递减 (递减 1) 指定 16 位变量的值作为原子操作。 操作以原子方式执行,但不使用内存屏障 |
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 位变量的值作为原子操作。 |
InterlockedIncrementAcquire | 递增 (增加一) 指定 32 位变量的值作为原子操作。 该操作是使用获取内存排序语义执行的。 |
InterlockedIncrementRelease | 递增 (增加一) 指定 32 位变量的值作为原子操作。 该操作是使用释放内存排序语义执行的。 |
InterlockedIncrementNoFence | 递增 (增加一) 指定 32 位变量的值作为原子操作。 操作以原子方式执行,但不使用内存屏障 |
InterlockedIncrement16 | 递增 () 指定 16 位变量的值作为原子操作增加一 |
InterlockedIncrement16Acquire | 递增 (增加一) 指定 16 位变量的值作为原子操作。 该操作是使用获取内存排序语义执行的 |
InterlockedIncrement16Release | 递增 (增加一) 指定 16 位变量的值作为原子操作。 该操作是使用释放内存排序语义执行的 |
InterlockedIncrement16NoFence | 递增 (增加一) 指定 16 位变量的值作为原子操作。 操作以原子方式执行,但不使用内存屏障 |
InterlockedIncrement64 | 递增 (增加一) 指定 64 位变量的值作为原子操作。 |
InterlockedIncrementAcquire64 | 递增 (增加一) 指定 64 位变量的值作为原子操作。 该操作是使用获取内存排序语义执行的。 |
InterlockedIncrementRelease64 | 递增 (增加一) 指定 64 位变量的值作为原子操作。 该操作是使用释放内存排序语义执行的。 |
InterlockedIncrementNoFence64 | 递增 (增加一) 指定 64 位变量的值作为原子操作。 操作以原子方式执行,但不使用内存屏障 |
InterlockedOr | 对指定的 LONG 值执行原子 OR 操作。 |
InterlockedOrAcquire | 对指定的 LONG 值执行原子 OR 操作。 该操作是使用获取内存排序语义执行的。 |
InterlockedOrRelease | 对指定的 LONG 值执行原子 OR 操作。 该操作使用释放内存排序语义执行。 |
InterlockedOrNoFence | 对指定的 LONG 值执行原子 OR 操作。 此操作以原子方式执行,但不使用内存屏障 |
InterlockedOr8 | 对指定的 字符 值执行原子 OR 操作。 |
InterlockedOr8Acquire | 对指定的 字符 值执行原子 OR 操作。 该操作是使用获取内存排序语义执行的。 |
InterlockedOr8Release | 对指定的 字符 值执行原子 OR 操作。 该操作使用释放内存排序语义执行。 |
InterlockedOr8NoFence | 对指定的 字符 值执行原子 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 | 对指定的 字符 值执行原子 XOR 操作。 |
InterlockedXor8Acquire | 对指定的 字符 值执行原子 XOR 操作。 该操作是使用获取内存排序语义执行的。 |
InterlockedXor8Release | 对指定的 字符 值执行原子 XOR 操作。 该操作使用释放内存排序语义执行。 |
InterlockedXor8NoFence | 对指定的 字符 值执行原子 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 | 按指定量增加指定信号灯对象的计数。 |
单一链接列表函数
单联列表函数 | 说明 |
---|---|
InitializeSListHead | 初始化单独链接列表的标题。 |
InterlockedFlushSList | 刷新单独链接列表中的整个项目列表。 |
InterlockedPopEntrySList | 从单独链接列表的前面删除项。 |
InterlockedPushEntrySList | 在单独链接列表的前面插入一个项目。 |
InterlockedPushListSList | 在另一个单独链接列表的前面插入一个单独链接列表。 |
InterlockedPushListSListEx | 在另一个单独链接列表的前面插入一个单独链接列表。 对列表的访问在多处理器系统上同步。 此方法的此版本不使用 __fastcall 调用约定 |
QueryDepthSList | 检索指定的单独链接列表中的条目数。 |
RtlFirstEntrySList | 检索单独链接列表中的第一个条目。 |
RtlInitializeSListHead | 初始化单独链接列表的标题。 应用程序应改为调用 InitializeSListHead 。 |
RtlInterlockedFlushSList | 刷新单独链接列表中的整个项目列表。 应用程序应改为调用 InterlockedFlushSList 。 |
RtlInterlockedPopEntrySList | 从单独链接列表的前面删除项。 应用程序应改为调用 InterlockedPopEntrySList 。 |
RtlInterlockedPushEntrySList | 在单独链接列表的前面插入一个项目。 应用程序应改为调用 InterlockedPushEntrySList 。 |
RtlQueryDepthSList | 检索指定的单独链接列表中的条目数。 应用程序应改为调用 QueryDepthSList 。 |
同步屏障函数
同步屏障函数 | 说明 |
---|---|
DeleteSynchronizationBarrier | 删除同步屏障。 |
EnterSynchronizationBarrier | 输入同步屏障,并等待适当数量的线程在屏障上会合。 |
InitializeSynchronizationBarrier | 初始化新的同步屏障。 |
计时器队列计时器函数
计时器队列计时器函数 | 说明 |
---|---|
ChangeTimerQueueTimer | 汇报计时器队列计时器。 |
CreateTimerQueue | 为计时器创建队列。 |
CreateTimerQueueTimer | 创建计时器队列计时器。 |
DeleteTimerQueue | 删除计时器队列。 |
DeleteTimerQueueEx | 删除计时器队列。 |
DeleteTimerQueueTimer | 取消计时器队列计时器。 |
等待函数
Wait 函数 | 说明 |
---|---|
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 函数 | 说明 |
---|---|
CancelWaitableTimer | 将指定的可等待计时器设置为非活动状态。 |
CreateWaitableTimer | 创建或打开可等待的计时器对象。 |
CreateWaitableTimerEx | 创建或打开一个可等待的计时器对象,并返回该对象的句柄。 |
OpenWaitableTimer | 打开现有的命名可等待计时器对象。 |
SetWaitableTimer | 激活指定的可等待计时器。 |
SetWaitableTimerEx | 激活指定的可等待计时器,并为计时器提供上下文信息。 . |
TimerAPCProc | 与 SetWaitableTimer 函数一起使用的应用程序定义的计时器完成例程。 |