Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*++
Copyright (C) Microsoft Corporation, 1997 - 1997 All rights reserved.
Module Name:
persist.hxx
Abstract:
Persistent store class headers.
Author:
Steve Kiraly (SteveKi) 05/12/97
Revision History:
--*/
#ifndef _PERSIST_HXX
#define _PERSIST_HXX
/********************************************************************
Persistant registry store class.
********************************************************************/
class TPersist { public: enum EIoFlags { kRead = 1 << 0, kWrite = 1 << 1, kCreate = 1 << 2, kOpen = 1 << 3, };
enum EConstants { kHint = 256, };
TPersist( IN LPCTSTR pszSection, IN UINT ioFlags, IN HKEY hOpenedKey = HKEY_CURRENT_USER );
~TPersist( VOID );
BOOL bValid( VOID ) const;
DWORD dwLastError( VOID ) const;
BOOL bRead( IN LPCTSTR pValueName, IN OUT DWORD &dwValue );
BOOL bRead( IN LPCTSTR pValueName, IN OUT BOOL &bValue );
BOOL bRead( IN LPCTSTR pValueName, IN OUT TString &strValue );
BOOL bRead( IN LPCTSTR pValueName, IN OUT PVOID pValue, IN DWORD cbSize, OUT LPDWORD pcbNeeded = NULL );
BOOL bWrite( IN LPCTSTR pValueName, IN const DWORD dwValue );
BOOL bWrite( IN LPCTSTR pValueName, IN LPCTSTR pszValue );
BOOL bWrite( IN LPCTSTR pValueName, IN const PVOID pValue, IN DWORD cbSize );
BOOL bRemove( IN LPCTSTR pValueName );
BOOL bRemoveKey( IN LPCTSTR pKeyName );
private: //
// Copying and assignment are not defined.
//
TPersist( const TPersist & ); TPersist& operator =( const TPersist & );
DWORD dwRecursiveRegDeleteKey( IN HKEY hKey, IN LPCTSTR pszSubkey ) const;
TString strSection_; HKEY hKey_; DWORD dwStatus_;
};
#if DBG
VOID TestPersistClass( VOID );
#endif
#endif
|