www.pudn.com > FileGuard.zip > KHandleTable.h


// KHandleTable.h: interface for the KHandleTable class. 
// 
////////////////////////////////////////////////////////////////////// 
 
#if !defined(AFX_KHANDLETABLE_H__AB998740_C006_11D5_A1DA_00E006F27970__INCLUDED_) 
#define AFX_KHANDLETABLE_H__AB998740_C006_11D5_A1DA_00E006F27970__INCLUDED_ 
 
#include "..\HookShr\Comdef.h" 
 
#define TABLE_LEN		256 
//#define HandleToIndex(h)	(((h)&0xFFFF)>>8) 
#define HandleToIndex(h)	(((h)&0xFFF)>>4) 
 
struct  HT_ITEM			//One item in handle-table 
{ 
	HANDLE   handle; 
	int drive; 
	ParsedPath *	pName; 
}; 
 
class KHandleTable   
{ 
public: 
	BOOL Find(HANDLE h, int &drive, ParsedPath *pBuf, int bufLen); 
	void Delete(HANDLE h); 
	void Empty(); 
	void Add(HANDLE h, const int drive, const ParsedPath *pFileName); 
	KHandleTable(); 
	virtual ~KHandleTable(); 
 
protected: 
	HT_ITEM m_entry[TABLE_LEN]; 
}; 
 
#endif // !defined(AFX_KHANDLETABLE_H__AB998740_C006_11D5_A1DA_00E006F27970__INCLUDED_)