Windows2003-3790/admin/pchealth/sr/filelist/flhashlist.h
2020-09-30 16:53:55 +02:00

65 lines
1.2 KiB
C++

/******************************************************************************
Copyright (c) 1999 Microsoft Corporation
Module Name:
hashlist.h
Abstract:
Revision History:
Eugene Mesgar (eugenem) 6/16/99
created
******************************************************************************/
#ifndef __CFLHASHLIST__
#define __CFLHASHLIST__
#include "flstructs.h"
#define LARGEST_HASH_SIZE 1003
class CFLHashList
{
LPVOID m_pBasePointer;
LONG m_lNumElements;
LONG m_lNumHashSpots;
LONG m_ilOpenEntry;
DWORD m_dwSize;
ListHeader *m_pListHeader;
ListEntry *m_pNodeIndex;
BlobHeader *m_pBlobHeader;
DWORD *m_paHashArray; // base index pointer
HANDLE m_hHeapToUse;
public:
CFLHashList();
CFLHashList(HANDLE hHeap);
virtual ~CFLHashList();
BOOL Init(LONG lNumNodes, DWORD dwNumChars);
BOOL AddFile(LPTSTR szFile, TCHAR chType);
BOOL CleanUpMemory();
DWORD CreatePathElem( LPTSTR pszData, BYTE *pbLargeBuffer );
DWORD GetSize();
LPVOID GetBasePointer();
BOOL IsPrime(DWORD dwNumber);
DWORD GetNextHighestPrime( DWORD dwNumber );
};
#endif