39 lines
1.1 KiB
C++
39 lines
1.1 KiB
C++
#ifndef __INSTENUM_H_
|
|
#define __INSTENUM_H_
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CEnumInstalledApps
|
|
class CEnumInstalledApps : public IEnumInstalledApps
|
|
{
|
|
public:
|
|
|
|
CEnumInstalledApps(void);
|
|
|
|
// *** IUnknown Methods
|
|
virtual STDMETHODIMP QueryInterface(REFIID riid, LPVOID * ppvObj);
|
|
virtual STDMETHODIMP_(ULONG) AddRef(void) ;
|
|
virtual STDMETHODIMP_(ULONG) Release(void);
|
|
|
|
// *** IEnumInstalledApps
|
|
STDMETHODIMP Next(IInstalledApp ** ppia);
|
|
STDMETHODIMP Reset(void);
|
|
|
|
protected:
|
|
|
|
virtual ~CEnumInstalledApps(void);
|
|
|
|
HRESULT _GetNextLegacyAppFromRegistry(IInstalledApp ** ppia);
|
|
HRESULT _GetNextLegacyApp(IInstalledApp ** ppia);
|
|
HRESULT _GetNextDarwinApp(IInstalledApp ** ppia);
|
|
|
|
UINT _cRef;
|
|
|
|
DWORD _iEnumIndex; // Total Application Enumeration index.
|
|
DWORD _iIndexEach; // Shared index by Legacy or Darwin or SMS
|
|
BOOL _bEnumLegacy;
|
|
DWORD _dwCIA; // What kind of legacy enumeration are we doing?
|
|
HKEY _hkeyUninstall;
|
|
};
|
|
|
|
#endif //__INSTENUM_H_
|