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_
|