Code/Resource
Windows Develop
Linux-Unix program
Internet-Socket-Network
Web Server
Browser Client
Ftp Server
Ftp Client
Browser Plugins
Proxy Server
Email Server
Email Client
WEB Mail
Firewall-Security
Telnet Server
Telnet Client
ICQ-IM-Chat
Search Engine
Sniffer Package capture
Remote Control
xml-soap-webservice
P2P
WEB(ASP,PHP,...)
TCP/IP Stack
SNMP
Grid Computing
SilverLight
DNS
Cluster Service
Network Security
Communication-Mobile
Game Program
Editor
Multimedia program
Graph program
Compiler program
Compress-Decompress algrithms
Crypt_Decrypt algrithms
Mathimatics-Numerical algorithms
MultiLanguage
Disk/Storage
Java Develop
assembly language
Applications
Other systems
Database system
Embeded-SCM Develop
FlashMX/Flex
source in ebook
Delphi VCL
OS Develop
MiddleWare
MPI
MacOS develop
LabView
ELanguage
Software/Tools
E-Books
Artical/Document
view.h
Package: shell.rar [view]
Upload User: xhy777
Upload Date: 2007-02-14
Package Size: 24088k
Code Size: 6k
Category:
Windows Kernel
Development Platform:
Visual C++
- /*****************************************************************************
- FILE: view.h
- DESCRIPTION:
- This is our ShellView which implements FTP specific behavior. We get
- the default DefView implementation and then use IShellFolderViewCB to
- override behavior specific to us.
- *****************************************************************************/
- #ifndef _FTPVIEW_H
- #define _FTPVIEW_H
- #include "isfvcb.h"
- #include "statusbr.h"
- #include "msieftp.h"
- #include "dspsprt.h"
- CFtpView * GetCFtpViewFromDefViewSite(IUnknown * punkSite);
- CStatusBar * GetCStatusBarFromDefViewSite(IUnknown * punkSite);
- HRESULT FtpView_SetRedirectPidl(IUnknown * punkSite, LPCITEMIDLIST pidl);
- class CFtpView
- : public CBaseFolderViewCB
- , public IFtpWebView
- , public CImpIDispatch
- {
- public:
- //////////////////////////////////////////////////////
- // Public Interfaces
- //////////////////////////////////////////////////////
- // *** IUnknown ***
- virtual STDMETHODIMP QueryInterface(REFIID riid, LPVOID * ppvObj);
- virtual STDMETHODIMP_(ULONG) AddRef(void) {return CBaseFolderViewCB::AddRef();};
- virtual STDMETHODIMP_(ULONG) Release(void) {return CBaseFolderViewCB::Release();};
- // *** IDispatch methods ***
- virtual STDMETHODIMP GetTypeInfoCount(UINT * pctinfo);
- virtual STDMETHODIMP GetTypeInfo(UINT itinfo, LCID lcid, ITypeInfo * * pptinfo);
- virtual STDMETHODIMP GetIDsOfNames(REFIID riid, OLECHAR * * rgszNames, UINT cNames, LCID lcid, DISPID * rgdispid);
- virtual STDMETHODIMP Invoke(DISPID dispidMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS * pdispparams, VARIANT * pvarResult, EXCEPINFO * pexcepinfo, UINT * puArgErr);
- // *** IFtpWebView methods ***
- virtual STDMETHODIMP get_Server(BSTR * pbstr);
- virtual STDMETHODIMP get_Directory(BSTR * pbstr);
- virtual STDMETHODIMP get_UserName(BSTR * pbstr);
- virtual STDMETHODIMP get_PasswordLength(long * plLength);
- virtual STDMETHODIMP get_EmailAddress(BSTR * pbstr);
- virtual STDMETHODIMP put_EmailAddress(BSTR bstr);
- virtual STDMETHODIMP get_CurrentLoginAnonymous(VARIANT_BOOL * pfAnonymousLogin);
- virtual STDMETHODIMP get_MessageOfTheDay(BSTR * pbstr);
- virtual STDMETHODIMP LoginAnonymously(void);
- virtual STDMETHODIMP LoginWithPassword(BSTR bUserName, BSTR bPassword);
- virtual STDMETHODIMP LoginWithoutPassword(BSTR bUserName);
- virtual STDMETHODIMP InvokeHelp(void) {return _OnInvokeFtpHelp(m_hwndOwner);};
- // *** CFtpViewPriv methods ***
- BOOL IsForegroundThread(void);
- CStatusBar * GetStatusBar(void) { return m_psb; };
- HRESULT SetRedirectPidl(LPCITEMIDLIST pidlRedirect);
- public:
- // Public Member Functions
- static HRESULT DummyHintCallback(HWND hwnd, CFtpFolder * pff, HINTERNET hint, LPVOID pv1, LPVOID pv2);
- // Friend Functions
- friend HRESULT CFtpView_Create(CFtpFolder * pff, HWND hwndOwner, REFIID riid, LPVOID * ppv);
- protected:
- // Private Member Variables
- HWND m_hwndOwner; // The owner window
- HWND m_hwndStatusBar; // The Status Bar window
- CFtpFolder * m_pff; // The owner Folder
- LPGLOBALTIMEOUTINFO m_hgtiWelcome; // The timeout for the welcome message
- CStatusBar * m_psb; // The timeout for the welcome message
- HINSTANCE m_hinstInetCpl; // HANDLE to Internet Control panel for View.Options.
- RECT m_rcPrev; // Previous size so we know when to ignore resizes.
- UINT m_idMergedMenus; // Where did I start merging menus?
- UINT m_nMenuItemsAdded; // How many menu items did I had?
- LPITEMIDLIST m_pidlRedirect; // We want to redirect to this pidl. See the comments in _OnBackGroundEnumDone().
- UINT m_nThreadID; // What is the main thread?
- // Private Member Functions
- CFtpView(CFtpFolder * pff, HWND hwndOwner);
- ~CFtpView();
- void _InitStatusBar(void);
- void _ShowMotd(void);
- HRESULT _OnInvokeFtpHelp(HWND hwnd);
- HRESULT _LoginWithPassword(LPCTSTR pszUserName, LPCTSTR pszPassword);
- virtual HRESULT _OnWindowCreated(void);
- virtual HRESULT _OnDefItemCount(LPINT pi);
- virtual HRESULT _OnGetHelpText(LPARAM lParam, WPARAM wParam);
- virtual HRESULT _OnGetZone(DWORD * pdwZone, WPARAM wParam);
- virtual HRESULT _OnGetPane(DWORD dwPaneID, DWORD * pdwPane);
- virtual HRESULT _OnRefresh(BOOL fReload);
- virtual HRESULT _OnDidDragDrop(DROPEFFECT de, IDataObject * pdto);
- virtual HRESULT _OnGetDetailsOf(UINT ici, PDETAILSINFO pdi);
- virtual HRESULT _OnInvokeCommand(UINT idc);
- virtual HRESULT _OnMergeMenu(LPQCMINFO pqcm);
- virtual HRESULT _OnUnMergeMenu(HMENU hMenu);
- virtual HRESULT _OnColumnClick(UINT ici);
- virtual HRESULT _OnGetNotify(LPITEMIDLIST * ppidl, LONG * lEvents);
- virtual HRESULT _OnSize(LONG x, LONG y);
- virtual HRESULT _OnUpdateStatusBar(void);
- virtual HRESULT _OnThisIDList(LPITEMIDLIST * ppidl);
- virtual HRESULT _OnAddPropertyPages(SFVM_PROPPAGE_DATA * pData);
- virtual HRESULT _OnInitMenuPopup(HMENU hmenu, UINT idCmdFirst, UINT nIndex);
- virtual HRESULT _OnGetHelpTopic(SFVM_HELPTOPIC_DATA * phtd);
- virtual HRESULT _OnBackGroundEnumDone(void);
- HRESULT _OnInvokeLoginAs(HWND hwndOwner);
- HRESULT _OnInvokeNewFolder(HWND hwndOwner);
- void _ShowMotdPsf(HWND hwndOwner);
- private:
- static INT_PTR CALLBACK _MOTDDialogProc(HWND hDlg, UINT wm, WPARAM wParam, LPARAM lParam);
- };
- #endif // _FTPVIEW_H