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>,
261 if (cImplemented == 0 && cRequired == 0)
263 if ((cImplemented && !pImplemented) || (cRequired && !pRequired))
267 for (
i = 0;
i < cImplemented;
i++)
279 FIXME(
"Implement required categories class enumeration\n");
282 if (cImplemented == 0)
343 hr = ShellObjectCreatorInit<CSHEnumClassesOfCategories>(
virtual HRESULT STDMETHODCALLTYPE Clone(IEnumCLSID **ppvOut)
virtual ~CComCatCachedCategory()
#define HKEY_CURRENT_USER
BOOL WINAPI DSA_Destroy(HDSA hdsa)
#define IID_PPV_ARG(Itype, ppType)
HRESULT STDMETHODCALLTYPE Initialize(CATID &catID, BOOL reloadCache)
HRESULT WINAPI SHEnumClassesOfCategories(ULONG cImplemented, CATID *pImplemented, ULONG cRequired, CATID *pRequired, IEnumGUID **out)
HDSA WINAPI DSA_Create(INT nSize, INT nGrow)
virtual HRESULT STDMETHODCALLTYPE Initialize(ULONG cImplemented, CATID *pImplemented, ULONG cRequired, CATID *pRequired)
VOID WINAPI GetSystemTime(OUT LPSYSTEMTIME lpSystemTime)
#define DSA_GetItemCount(hdsa)
#define FAILED_UNEXPECTEDLY(hr)
INT WINAPI StringFromGUID2(REFGUID id, LPOLESTR str, INT cmax)
#define STDMETHODCALLTYPE
CComPtr< ICatInformation > fCatInformation
HRESULT LoadFromComCatMgr()
virtual HRESULT STDMETHODCALLTYPE Next(ULONG cElt, CLSID *pElts, ULONG *pFetched)
virtual ~CSHEnumClassesOfCategories()
struct categoryCacheHeader * PCATCACHEHDR
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
virtual HRESULT STDMETHODCALLTYPE Skip(ULONG nbElts)
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
#define COM_INTERFACE_ENTRY_IID(iid, x)
LPVOID WINAPI DSA_GetItemPtr(HDSA hdsa, INT nIndex)
struct categoryCacheHeader CATCACHEHDR
virtual HRESULT STDMETHODCALLTYPE Reset()
INT WINAPI DSA_InsertItem(HDSA hdsa, INT nIndex, LPVOID pSrc)
LPVOID WINAPI CoTaskMemAlloc(SIZE_T size)
HRESULT WriteCacheToDSA(HDSA pDest)
_CRTIMP int __cdecl read(_In_ int _FileHandle, _Out_writes_bytes_(_MaxCharCount) void *_DstBuf, _In_ unsigned int _MaxCharCount)
CSHEnumClassesOfCategories()