cfileimp.cpp

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

CPP
89
字号
/*____________________________________________________________________________
		Copyright (C) 2002 PGP Corporation
        All rights reserved.

        $Id: CFileImp.cpp,v 1.3 2002/08/06 20:10:37 dallen Exp $
____________________________________________________________________________*/

#include "pgpClassesConfig.h"
#include "CFileImp.h"

_USING_PGP

// Class CFileImp member functions

CFileImp::CFileImp() : mIsOpened(FALSE), mOpenFlags(CFile::kNoFlags)
{
#if !PGP_EXCEPTIONS
	Status() = mPath.Status();
#endif	// !PGP_EXCEPTIONS
}

PGPBoolean 
CFileImp::IsFileInUseByReader(const char *path)
{
	pgpAssertStrValid(path);

#if PGP_EXCEPTIONS

	try
	{
		CFile	theFile;
		theFile.Open(path, CFile::kReadOnlyFlag | CFile::kDenyReadFlag);

		return FALSE;
	}
	catch (CComboError&)
	{
		return TRUE;
	}

#else	// !PGP_EXCEPTIONS

	CComboError	error;
	CFile		theFile;

	error = theFile.Open(path, CFile::kReadOnlyFlag | CFile::kDenyReadFlag);

	return error.IsError();

#endif	// PGP_EXCEPTIONS
}

PGPBoolean 
CFileImp::IsFileInUseByWriter(const char *path)
{
	pgpAssertStrValid(path);

#if PGP_EXCEPTIONS

	try
	{
		CFile	theFile;
		theFile.Open(path, CFile::kReadOnlyFlag);

		return FALSE;
	}
	catch (CComboError&)
	{
		return TRUE;
	}

#else	// !PGP_EXCEPTIONS

	CComboError	error;

	CFile	theFile;
	error = theFile.Open(path, CFile::kReadOnlyFlag);

	return error.IsError();

#endif	// PGP_EXCEPTIONS
}

PGPBoolean 
CFileImp::IsFileInUse(const char *path)
{
	return (IsFileInUseByReader(path) || IsFileInUseByWriter(path));
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?