cpgpmsgbackuphash.h

来自「PGP8.0源码 请认真阅读您的文件包然后写出其具体功能」· C头文件 代码 · 共 56 行

H
56
字号
////////////////////////////////////////////////////////////////////////////////
//  File : cpgpmsgbackuphash.h
//
//  Copyright (C) 2002 PGP Corporation
//
//  ABSTRACT
//		
// 
//  Author: Satya S. Das
////////////////////////////////////////////////////////////////////////////////

#ifndef _CPGPMSGBACKUPHASH_H_
#define _CPGPMSGBACKUPHASH_H_

#include "linkedlist.h"

typedef struct _stBACKUPMSGINFO
{
//#ifdef __cplusplus
   struct _LIST_ENTRY *Flink;
   struct _LIST_ENTRY *Blink;
//#else
//	_LIST_ENTRY;
//#endif
	LPENTRYID lpEntryID;//=backup message entry id
	ULONG m_ulEntryIDSize;//=entry id size
	CPGPMsgBackup *pBackupObj;
} BACKUPMSGINFO, *PBACKUPMSGINFO;


const short BACKUPMSGINFO_HASHTABLE_SIZE=11;

class CPGPMsgBackupHash
{
	public:
		CPGPMsgBackupHash();
		~CPGPMsgBackupHash();
		BOOL Init();
		BOOL Insert(PBACKUPMSGINFO lpBackupMsgInfo);
		BOOL Remove(LPMDB lpMsgStore, LPENTRYID lpEntryId, ULONG ulEntryIDLen);
		PBACKUPMSGINFO Get(LPMDB lpMsgStore, LPENTRYID lpEntryId, ULONG ulEntryIDLen);
		void Lock();
		void UnLock();

	private:
		BOOL m_bInited;
		LIST_ENTRY m_leArray[BACKUPMSGINFO_HASHTABLE_SIZE];
		ULONG m_ulCount;
		HANDLE m_hMutex;
		
		void FreeMsgInfo(PBACKUPMSGINFO lpBackupMsgInfo);
};


#endif //_CPGPMSGBACKUPHASH_H_

⌨️ 快捷键说明

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