windows-nt/Source/XPSP1/NT/shell/ext/ratings/msrating/reghive.h
2020-09-26 16:20:57 +08:00

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