shfolder.h
资源名称:shell.rar [点击查看]
上传用户:xhy777
上传日期:2007-02-14
资源大小:24088k
文件大小:2k
源码类别:
系统编程
开发平台:
Visual C++
- #ifndef SHFOLDER_H
- #define SHFOLDER_H
- class CShellFolder : public IShellFolder, public IPersistFolder
- {
- friend class CShellView;
- protected:
- LONG m_ObjRefCount;
- public:
- CShellFolder(CShellFolder*, LPCITEMIDLIST);
- ~CShellFolder();
- //
- // IUnknown methods
- //
- STDMETHOD (QueryInterface) (REFIID riid, LPVOID * ppvObj);
- STDMETHOD_ (ULONG, AddRef) (void);
- STDMETHOD_ (ULONG, Release) (void);
- //
- // IPersist methods
- //
- STDMETHODIMP GetClassID(LPCLSID);
- //
- // IPersistFolder methods
- //
- STDMETHODIMP Initialize(LPCITEMIDLIST);
- //
- // IShellFolder methods
- //
- STDMETHOD (ParseDisplayName) (HWND, LPBC, LPOLESTR, LPDWORD, LPITEMIDLIST*, LPDWORD);
- STDMETHOD (EnumObjects) (HWND, DWORD, LPENUMIDLIST*);
- STDMETHOD (BindToObject) (LPCITEMIDLIST, LPBC, REFIID, LPVOID*);
- STDMETHOD (BindToStorage) (LPCITEMIDLIST, LPBC, REFIID, LPVOID*);
- STDMETHOD (CompareIDs) (LPARAM, LPCITEMIDLIST, LPCITEMIDLIST);
- STDMETHOD (CreateViewObject) (HWND, REFIID, LPVOID* );
- STDMETHOD (GetAttributesOf) (UINT, LPCITEMIDLIST*, ULONG *);
- STDMETHOD (GetUIObjectOf) (HWND, UINT, LPCITEMIDLIST*, REFIID, LPUINT, LPVOID*);
- STDMETHOD (GetDisplayNameOf) (LPCITEMIDLIST, DWORD, LPSTRRET);
- STDMETHOD (SetNameOf) (HWND, LPCITEMIDLIST, LPCOLESTR, DWORD, LPITEMIDLIST*);
- private:
- LPITEMIDLIST m_pidl;
- CShellFolder *m_pSFParent;
- LPMALLOC m_pMalloc;
- //
- // utility functions
- //
- BOOL HasSubFolders(LPCITEMIDLIST pidl);
- BOOL GetPidlFullText(LPCITEMIDLIST, LPTSTR, DWORD);
- };
- #endif // SHFOLDER_H
English
