cthreadimpdrvnt.cpp

来自「可以实现对邮件的加密解密以及签名」· C++ 代码 · 共 60 行

CPP
60
字号
/*____________________________________________________________________________
		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 + =
减小字号Ctrl + -
显示快捷键?