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

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 80 of file querysrc.cpp.

Member Function Documentation

◆ _MaxLen()

DWORD CRegistryEnumKeys::_MaxLen ( )
overridevirtual

Implements CRegistryEnumBase.

Definition at line 226 of file querysrc.cpp.

227{
228 DWORD cchKeyNameMax = 0;
229 RegQueryInfoKeyW(m_hKey, NULL, NULL, NULL, NULL, &cchKeyNameMax, NULL, NULL, NULL, NULL,
230 NULL, NULL);
231 return cchKeyNameMax + 1; // Including NUL
232}
#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 CRegistryEnumKeys::_RegNext ( DWORD  dwIndex)
overridevirtual

Implements CRegistryEnumBase.

Definition at line 221 of file querysrc.cpp.

222{
224}
#define ERROR_SUCCESS
Definition: deptool.c:10
LONG WINAPI RegEnumKeyW(HKEY hKey, DWORD dwIndex, LPWSTR lpName, DWORD cbName)
Definition: reg.c:2393

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