48 lines
1.3 KiB
C++
48 lines
1.3 KiB
C++
/****************************************************************************\
|
|
*
|
|
* reghive.h
|
|
*
|
|
* Created: William Taylor (wtaylor) 02/13/01
|
|
*
|
|
* MS Ratings Registry Hive Handling
|
|
*
|
|
\****************************************************************************/
|
|
|
|
#ifndef REGISTRY_HIVE_H
|
|
#define REGISTRY_HIVE_H
|
|
|
|
class CRegistryHive
|
|
{
|
|
private:
|
|
bool m_fHiveLoaded; // Hive Loaded?
|
|
char m_szPath[MAXPATHLEN+1]; // Hive File Path
|
|
CRegKey m_keyHive; // Registry Key to Hive
|
|
|
|
public:
|
|
CRegistryHive();
|
|
~CRegistryHive();
|
|
|
|
const CRegKey & GetHiveKey( void ) { return m_keyHive; }
|
|
|
|
void UnloadHive( void );
|
|
bool OpenHiveFile( bool p_fCreate );
|
|
|
|
protected:
|
|
bool OpenHiveKey( void );
|
|
void DeleteRegistryHive( void );
|
|
bool CreateNewHive( int & p_riHiveFile );
|
|
bool SaveHiveKey( CRegKey & p_keyHive, int p_iFile );
|
|
void ClearHivePath( void ) { m_szPath[0] = '\0'; }
|
|
BOOL BuildPolName(LPSTR pBuffer, UINT cbBuffer, UINT (WINAPI *PathProvider)(LPTSTR, UINT));
|
|
void SetHiveName( int p_iFile );
|
|
void LoadHiveFile( int p_iFile );
|
|
|
|
#ifdef DEBUG
|
|
void EnumerateRegistryKeys( HKEY hkeyTop, LPSTR pszKeyName, int iLevel );
|
|
#endif
|
|
};
|
|
|
|
#endif
|
|
|
|
|