155 lines
2.4 KiB
C++
155 lines
2.4 KiB
C++
|
/*++
|
||
|
|
||
|
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
|
||
|
|