Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
class CTimeWarpProp : public IShellExtInit, public IShellPropSheetExt, public IPreviousVersionsInfo { public: // IUnknown
STDMETHOD(QueryInterface)(REFIID riid, void **ppv); STDMETHOD_(ULONG, AddRef)(); STDMETHOD_(ULONG, Release)(); // IShellExtInit
STDMETHOD(Initialize)(PCIDLIST_ABSOLUTE pidlFolder, IDataObject *lpdobj, HKEY hkeyProgID); // IShellPropSheetExt
STDMETHOD(AddPages)(LPFNADDPROPSHEETPAGE pfnAddPage, LPARAM lParam); STDMETHOD(ReplacePage)(UINT uPageID, LPFNADDPROPSHEETPAGE lpfnReplaceWith, LPARAM lParam);
// IPreviousVersionsInfo
STDMETHOD(AreSnapshotsAvailable)(LPCWSTR pszPath, BOOL fOkToBeSlow, BOOL *pfAvailable);
static HRESULT CreateInstance(IUnknown *punkOuter, IUnknown **ppunk, LPCOBJECTINFO poi);
private: CTimeWarpProp(); ~CTimeWarpProp();
// dialog methods
void _OnInit(HWND hDlg); void _OnRefresh(); void _OnSize(); void _UpdateButtons(); void _OnView(); void _OnCopy(); void _OnRevert();
// helpers
LPCWSTR _GetSelectedItemPath(); LPWSTR _MakeDoubleNullString(LPCWSTR psz, BOOL bAddWildcard); BOOL _CopySnapShot(LPCWSTR pszSource, LPCWSTR pszDest, FILEOP_FLAGS foFlags); HRESULT _InvokeBFFDialog(LPWSTR pszDest, UINT cchDest);
// Note that both of these can be TRUE at the same time, for example ZIP
// and CAB are individual files represented as shell folders.
BOOL _IsFolder() { return (_fItemAttributes & SFGAO_FOLDER); } BOOL _IsFile() { return (_fItemAttributes & SFGAO_STREAM); }
BOOL _IsShortcut() { return (_fItemAttributes & SFGAO_LINK); }
// callback methods
static UINT CALLBACK PSPCallback(HWND hDlg, UINT uMsg, LPPROPSHEETPAGE ppsp); static INT_PTR CALLBACK DlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
LONG _cRef; LPWSTR _pszPath; LPWSTR _pszDisplayName; LPWSTR _pszSnapList; int _iIcon; HWND _hDlg; HWND _hList; SFGAOF _fItemAttributes; // SFGAO_ flags
};
extern const CLSID CLSID_TimeWarpProp; // {596AB062-B4D2-4215-9F74-E9109B0A8153}
void InitSnapCheckCache(void); void DestroySnapCheckCache(void);
|