27#define REGPATH L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Discardable\\PostSetup\\Component Categories"
28#define IMPLEMENTING L"Implementing"
29#define REQUIRING L"Requiring"
92 CComHeapPtr<CATCACHEHDR>
buffer;
128 CComHeapPtr<CATCACHEHDR>
buffer;
151 for(
i = 0;
i < elemCount;
i++)
170 CComPtr<ICatInformation> pCatInformation;
171 CComPtr<IEnumGUID> pEnumGUID;
190 pEnumGUID->Next(1, &tmp, &pFetched);
197 while (pFetched > 0);
213 public CComCoClass<CSHEnumClassesOfCategories>,
214 public CComObjectRootEx<CComMultiThreadModelNoCS>,
262 if (cImplemented == 0 && cRequired == 0)
264 if ((cImplemented && !pImplemented) || (cRequired && !pRequired))
268 for (
i = 0;
i < cImplemented;
i++)
280 FIXME(
"Implement required categories class enumeration\n");
283 if (cImplemented == 0)
344 hr = ShellObjectCreatorInit<CSHEnumClassesOfCategories>(
HRESULT WINAPI SHEnumClassesOfCategories(ULONG cImplemented, CATID *pImplemented, ULONG cRequired, CATID *pRequired, IEnumGUID **out)
struct categoryCacheHeader * PCATCACHEHDR
struct categoryCacheHeader CATCACHEHDR
#define STDMETHODCALLTYPE
virtual ~CComCatCachedCategory()
HRESULT WriteCacheToDSA(HDSA pDest)
HRESULT LoadFromComCatMgr()
HRESULT STDMETHODCALLTYPE Initialize(CATID &catID, BOOL reloadCache)
CSHEnumClassesOfCategories()
STDMETHOD() Skip(ULONG nbElts) override
STDMETHOD() Initialize(ULONG cImplemented, CATID *pImplemented, ULONG cRequired, CATID *pRequired)
STDMETHOD() Reset() override
virtual ~CSHEnumClassesOfCategories()
STDMETHOD() Next(ULONG cElt, CLSID *pElts, ULONG *pFetched) override
STDMETHOD() Clone(IEnumCLSID **ppvOut) override
CComPtr< ICatInformation > fCatInformation
#define FAILED_UNEXPECTEDLY(hr)
VOID WINAPI GetSystemTime(OUT LPSYSTEMTIME lpSystemTime)
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
INT WINAPI StringFromGUID2(REFGUID id, LPOLESTR str, INT cmax)
LPVOID WINAPI DSA_GetItemPtr(HDSA hdsa, INT nIndex)
BOOL WINAPI DSA_Destroy(HDSA hdsa)
INT WINAPI DSA_InsertItem(HDSA hdsa, INT nIndex, LPVOID pSrc)
HDSA WINAPI DSA_Create(INT nSize, INT nGrow)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
LPVOID WINAPI CoTaskMemAlloc(SIZE_T size)
#define COM_INTERFACE_ENTRY_IID(iid, x)
#define DSA_GetItemCount(hdsa)
#define HKEY_CURRENT_USER
#define IID_PPV_ARG(Itype, ppType)