ReactOS 0.4.17-dev-243-g1369312
CRegistryEnumValues Class Reference
Inheritance diagram for CRegistryEnumValues:
Collaboration diagram for CRegistryEnumValues:

Public Member Functions

BOOL _RegNext (DWORD dwIndex) override
 
DWORD _MaxLen () override
 
- Public Member Functions inherited from CRegistryEnumBase
virtual ~CRegistryEnumBase ()
 
HRESULT Init (HKEY hKey, CRegistrySource *pSource)
 
STDMETHODIMP QueryInterface (REFIID riid, void **ppvObject) override
 
 STDMETHODIMP_ (ULONG) AddRef() override
 
 STDMETHODIMP_ (ULONG) Release() override
 
STDMETHODIMP Next (ULONG celt, LPWSTR *rgelt, ULONG *pceltFetched) override
 
STDMETHODIMP Skip (ULONG celt) override
 
STDMETHODIMP Reset () override
 
STDMETHODIMP Clone (IEnumString **ppenum) override
 
- Public Member Functions inherited from IEnumString
HRESULT Next ([in] ULONG celt, [out, size_is(celt), length_is(*pceltFetched)] LPOLESTR *rgelt, [out] ULONG *pceltFetched)
 
HRESULT RemoteNext ([in] ULONG celt, [out, size_is(celt), length_is(*pceltFetched)] LPOLESTR *rgelt, [out] ULONG *pceltFetched)
 
HRESULT Skip ([in] ULONG celt)
 
HRESULT Reset ()
 
HRESULT Clone ([out] IEnumString **ppenum)
 
- Public Member Functions inherited from IUnknown
HRESULT QueryInterface ([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
 
ULONG AddRef ()
 
ULONG Release ()
 

Additional Inherited Members

- Public Types inherited from IEnumString
typedef IEnumStringLPENUMSTRING
 
- Public Types inherited from IUnknown
typedef IUnknownLPUNKNOWN
 
- Protected Member Functions inherited from CRegistryEnumBase
BOOL _Next (PWSTR *ppwsz)
 
virtual BOOL _RegNext (DWORD dwIndex)=0
 
virtual DWORD _MaxLen ()=0
 
- Protected Attributes inherited from CRegistryEnumBase
LONG m_cRefs = 1
 
DWORD m_dwIndex = 0
 
CRegistrySourcem_pSource = NULL
 
HKEY m_hKey = NULL
 
PWSTR m_pszName = NULL
 
WCHAR m_szBuf [64] = {}
 
DWORD m_cchNameMax = 0
 

Detailed Description

Definition at line 70 of file querysrc.cpp.

Member Function Documentation

◆ _MaxLen()

DWORD CRegistryEnumValues::_MaxLen ( )
overridevirtual

Implements CRegistryEnumBase.

Definition at line 243 of file querysrc.cpp.

244{
245 DWORD cchValueNameMax = 0;
246 RegQueryInfoKeyW(m_hKey, NULL, NULL, NULL, NULL, NULL, NULL, NULL, &cchValueNameMax,
247 NULL, NULL, NULL);
248 return cchValueNameMax + 1; // Including NUL
249}
#define NULL
Definition: types.h:112
LONG WINAPI RegQueryInfoKeyW(HKEY hKey, LPWSTR lpClass, LPDWORD lpcClass, LPDWORD lpReserved, LPDWORD lpcSubKeys, LPDWORD lpcMaxSubKeyLen, LPDWORD lpcMaxClassLen, LPDWORD lpcValues, LPDWORD lpcMaxValueNameLen, LPDWORD lpcMaxValueLen, LPDWORD lpcbSecurityDescriptor, PFILETIME lpftLastWriteTime)
Definition: reg.c:3662
unsigned long DWORD
Definition: ntddk_ex.h:95

◆ _RegNext()

BOOL CRegistryEnumValues::_RegNext ( DWORD  dwIndex)
overridevirtual

Implements CRegistryEnumBase.

Definition at line 236 of file querysrc.cpp.

237{
238 DWORD cchValueNameMax = m_cchNameMax;
239 return RegEnumValueW(m_hKey, dwIndex, m_pszName, &cchValueNameMax, NULL,
241}
#define ERROR_SUCCESS
Definition: deptool.c:10
LONG WINAPI RegEnumValueW(_In_ HKEY hKey, _In_ DWORD index, _Out_ LPWSTR value, _Inout_ PDWORD val_count, _Reserved_ PDWORD reserved, _Out_opt_ PDWORD type, _Out_opt_ LPBYTE data, _Inout_opt_ PDWORD count)
Definition: reg.c:2830

The documentation for this class was generated from the following file: