2025-04-27 07:49:33 -04:00

88 lines
2.8 KiB
C++
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//+-------------------------------------------------------------------------
// Microsoft OLE
// Copyright (C) Microsoft Corporation, 1994 - 1995.
//
// File: creghelp.hxx
//
// Contents: Declaration & macros for the CRegistryHelp class.
//
// Classes: CRegistryHelp
//
// History: 20-Oct-93 XimingZ Created
// 23-Nov-94 DeanE Modified for more general use.
//--------------------------------------------------------------------------
#ifndef __CREGHELP_HXX__
#define __CREGHELP_HXX__
//+-------------------------------------------------------------------
// Class: CRegistryHelp
//
// Purpose: Registry access wrapper. Designed to be used with a
// "known" registry key structure. It could be modified
// to deal with enumerating subkeys or values and using
// them, too.
//
// History: 20-Oct-93 XimingZ Created
//--------------------------------------------------------------------
class CRegistryHelp
{
public:
CRegistryHelp(HKEY hKey,
LPTSTR pszSubKey,
DWORD fOptions,
REGSAM samKey,
HRESULT *phr);
~CRegistryHelp(VOID);
HRESULT GetValue(LPTSTR pszSubKey,
LPTSTR pszValue,
LPBYTE pbBuffer,
LPDWORD pcbBuffer,
LPDWORD pdwType);
HRESULT GetValueDword(LPTSTR pszSubKey,
LPTSTR pszValue,
LPDWORD pdwData,
DWORD fExpectedType);
HRESULT GetValueString(LPTSTR pszSubKey,
LPTSTR pszValue,
LPTSTR pszData,
LPDWORD pcbData,
DWORD fExpectedType);
HRESULT SetValue(LPTSTR pszSubKey,
LPTSTR pszValue,
LPBYTE pbData,
DWORD cbData,
DWORD fType);
HRESULT SetValueDword(LPTSTR pszSubKey,
LPTSTR pszValue,
DWORD dwData,
DWORD fType);
HRESULT SetValueString(LPTSTR pszSubKey,
LPTSTR pszValue,
LPTSTR pszData,
DWORD cbData,
DWORD fType);
HRESULT DeleteValue(LPTSTR pszSubKey, LPTSTR pszValue);
HRESULT DeleteSubKey(LPTSTR pszSubKey);
protected:
LPTSTR _pszSubKey; // Subkey name
private:
HKEY _hKey; // Handle to root key
HKEY _hSubKey; // Handle to subkey
BOOL _fOptions; // Special key options
};
#endif // __CREGHELP_HXX__