📄 cthreadimpdrvnt.cpp
字号:
/*____________________________________________________________________________
Copyright (C) 2002 PGP Corporation
All rights reserved.
$Id: CThreadImpDrvNT.cpp,v 1.2 2002/08/06 20:10:51 dallen Exp $
____________________________________________________________________________*/
#include "pgpClassesConfig.h"
#include "CThreadImpDrvNT.h"
_USING_PGP
// Class CThreadImpDrvNT member functions
CComboError
CThreadImpDrvNT::StartOsThread()
{
CComboError error;
error.err = PsCreateSystemThread(&mThreadHandle, THREAD_ALL_ACCESS,
NULL, NULL, NULL, MainThreadFunction, this);
if (error.HaveNonPGPError())
error.pgpErr = kPGPError_ThreadOpFailed;
return error;
}
void
CThreadImpDrvNT::MainThreadFunctionAux()
{
KeSetPriorityThread(KeGetCurrentThread(), LOW_REALTIME_PRIORITY);
while (TRUE)
{
__try
{
// Call the main loop function.
if (!MainThreadLoop())
break;
}
__except(EXCEPTION_EXECUTE_HANDLER)
{
pgpDebugMsg("Uncaught exception in PGPdisk thread!");
}
}
PsTerminateSystemThread(STATUS_SUCCESS);
}
void
CThreadImpDrvNT::MainThreadFunction(PVOID StartContext)
{
CThreadImpDrvNT *pThreadImpDrvNT =
static_cast<CThreadImpDrvNT *>(StartContext);
pgpAssertAddrValid(pThreadImpDrvNT, CThreadImpDrvNT);
pThreadImpDrvNT->MainThreadFunctionAux();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -