#include "objects.h"#ifdef WIN_DRIVERextern "C" EXCEPTION_DISPOSITION __cdecl __CxxFrameHandler3(int a, int b, int c, int d){return ExceptionContinueSearch;}#endif/*** CriticalSection*/CriticalSection::CriticalSection(CRITICAL_SECTION &critical_section): critical_section_(critical_section){#ifdef VMP_GNUpthread_mutex_lock(&critical_section_);#elif defined(WIN_DRIVER)KeWaitForMutexObject(&critical_section_, Executive, KernelMode, FALSE, NULL);#elseEnterCriticalSection(&critical_section_);#endif}CriticalSection::~CriticalSection(){#ifdef VMP_GNUpthread_mutex_unlock(&critical_section_);#elif defined(WIN_DRIVER)KeReleaseMutex(&critical_section_, FALSE);#elseLeaveCriticalSection(&critical_section_);#endif}void CriticalSection::Init(CRITICAL_SECTION &critical_section){#ifdef VMP_GNUpthread_mutex_init(&critical_section, NULL);#elif defined(WIN_DRIVER)KeInitializeMutex(&critical_section, 0);#elseInitializeCriticalSection(&critical_section);#endif}void CriticalSection::Free(CRITICAL_SECTION &critical_section){#ifdef VMP_GNUpthread_mutex_destroy(&critical_section);#elif defined(WIN_DRIVER)// do nothing#elseDeleteCriticalSection(&critical_section);#endif}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。