deleteCriticalSection 函数 (synchapi.h)
释放由无所有者的关键节对象使用的所有资源。
语法
void DeleteCriticalSection(
[in, out] LPCRITICAL_SECTION lpCriticalSection
);
参数
[in, out] lpCriticalSection
指向关键节对象的指针。 对象必须以前已使用 InitializeCriticalSection 函数进行过初始化。
返回值
无
备注
删除关键节对象会释放该对象使用的所有系统资源。 调用方负责确保关键节对象是无所有者的,并且进程中其他线程调用的任何关键节函数不会访问指定的CRITICAL_SECTION结构。
删除关键节对象后,不要引用任何对关键部分进行操作的函数中的对象, (如 EnterCriticalSection、TryEnterCriticalSection 和 LeaveCriticalSection) InitializeCriticalSection 和 InitializeCriticalSectionAndSpinCount 以外的其他部分。 如果尝试这样做,可能会发生内存损坏和其他意外错误。
如果在关键节仍归其所有的情况下被删除,则等待已删除的关键节所有权的线程的状态是不确定的。
示例
有关使用 DeleteCriticalSection 的示例,请参阅 Using Critical Section Objects。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [桌面应用 | UWP 应用] |
最低受支持的服务器 | Windows Server 2003 [桌面应用 | UWP 应用] |
目标平台 | Windows |
标头 | synchapi.h (包括 Windows Server 2003、Windows Vista、Windows 7、Windows Server 2008 Windows Server 2008 R2) |
Library | Kernel32.lib |
DLL | Kernel32.dll |