//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\ // // cdfview.h // // The class definition for the cdf view class. This class implements the // IShelFolder interface. // // History: // // 3/16/97 edwardp Created. // //////////////////////////////////////////////////////////////////////////////// // // Check for previous includes of this file. // #ifndef _CDFVIEW_H_ #define _CDFVIEW_H_ // // Function prototypes. // HRESULT QueryInternetShortcut(LPCTSTR pszURL, REFIID riid, void** ppvOut); HRESULT QueryInternetShortcut(PCDFITEMIDLIST pcdfidl, REFIID riid, void** ppvOut); // // Class definition for the cdf view class. // class CCdfView : public IShellFolder, public CPersist { // // Methods // public: // Constructors CCdfView(void); CCdfView(PCDFITEMIDLIST pcdfidl, LPCITEMIDLIST pidlParentPath, IXMLElementCollection* pIXMLElementCollection); // IUnknown STDMETHODIMP QueryInterface(REFIID, void **); STDMETHODIMP_(ULONG) AddRef(void); STDMETHODIMP_(ULONG) Release(void); // IShellFolder STDMETHODIMP ParseDisplayName(HWND hwndOwner, LPBC pbcReserved, LPOLESTR lpszDisplayName, ULONG* pchEaten, LPITEMIDLIST* ppidl, ULONG* pdwAttributes); STDMETHODIMP EnumObjects(HWND hwndOwner, DWORD grfFlags, LPENUMIDLIST* ppenumIDList); STDMETHODIMP BindToObject(LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, LPVOID* ppvOut); STDMETHODIMP BindToStorage(LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, LPVOID* ppvObj); STDMETHODIMP CompareIDs(LPARAM lParam, LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2); STDMETHODIMP CreateViewObject(HWND hwndOwner, REFIID riid, LPVOID* ppvOut); STDMETHODIMP GetAttributesOf(UINT cidl, LPCITEMIDLIST* apidl, ULONG* pfAttributesOut); STDMETHODIMP GetUIObjectOf(HWND hwndOwner, UINT cidl, LPCITEMIDLIST* apidl, REFIID riid, UINT* prgfInOut, LPVOID * ppvOut); STDMETHODIMP GetDisplayNameOf(LPCITEMIDLIST pidl, DWORD uFlags, LPSTRRET lpName); STDMETHODIMP SetNameOf(HWND hwndOwner, LPCITEMIDLIST pidl, LPCOLESTR lpszName, DWORD uFlags, LPITEMIDLIST* ppidlOut); // IPersistFolder STDMETHODIMP Initialize(LPCITEMIDLIST pidl); private: // Destructor ~CCdfView(void); // Parsing helper functions. HRESULT ParseCdfFolder(HWND hwndOwner, DWORD dwParseFlags); // Folder helper functions. // // Member variables. // private: ULONG m_cRef; PCDFITEMIDLIST m_pcdfidl; // This folder's pidl LPITEMIDLIST m_pidlPath; // Path to this folder. IXMLElementCollection* m_pIXMLElementCollection; BOOL m_fIsRootFolder; // Is this the root folder. }; #endif _CDFVIEW_H_