windows-nt/Source/XPSP1/NT/shell/cpls/appwzdui/instenum.h
2020-09-26 16:20:57 +08:00

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_