//*************************************************************************** // // REG.H // // Utility registry classes. // // a-raymcc 30-May-96 Created. // //*************************************************************************** #ifndef _NTREG_H_ #define _NTREG_H_ //#include "corepol.h" class CNTRegistry { HKEY m_hPrimaryKey; HKEY m_hSubkey; int m_nStatus; LONG m_nLastError; public: enum { no_error, failed, out_of_memory, no_more_items }; CNTRegistry(); ~CNTRegistry(); int Open(HKEY hStart, WCHAR *pszStartKey); int MoveToSubkey(WCHAR *pszNewSubkey); int GetDWORD(WCHAR *pwszValueName, DWORD *pdwValue); int GetStr(WCHAR *pwszValueName, WCHAR **pwszValue); //Returns a pointer to a string buffer containing the null-terminated string. //The last entry is a double null terminator (i.e. the registry format for //a REG_MULTI_SZ). Caller has do "delete []" the returned pointer. //dwSize is the size of the buffer returned. int GetMultiStr(WCHAR *pwszValueName, WCHAR** pwszValue, DWORD &dwSize); // Allows key enumneration int Enum( DWORD dwIndex, WCHAR** pwszValue, DWORD& dwSize ); int SetDWORD(WCHAR *pwszValueName, DWORD dwValue); int SetStr(WCHAR *pwszValueName, WCHAR *wszValue); LONG GetLastError() { return m_nLastError; } }; #endif