You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

70 lines
1.7 KiB
C

1 month ago
/////////////////////////////////////////////////////////////////////////////
//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>:
// InternetGet<65><74>
//
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д: 2008-11-09
//
//
/////////////////////////////////////////////////////////////////////////////
#pragma once
#include <afxsock.h> // MFC socket extensions
#include <afxinet.h>
class CInternetGet
{
public:
CInternetGet(void);
virtual ~CInternetGet(void);
public:
virtual bool IsOpenConnection(void);
// open the connection
virtual bool OpenConnection(CString server, LPCTSTR lpstrUserName=NULL, LPCTSTR lpstrPassordword=NULL);
// close the connection
virtual bool CloseConnection();
virtual bool Open(LPCTSTR lpstrRemote);
virtual void Close(void);
virtual bool IsOpen(void);
virtual UINT Read(void* lpBuf, UINT nCount);
virtual ULONGLONG Seek(ULONGLONG nOffset, UINT nFrom);
virtual CStdioFile* GetStdioFile(void);
virtual bool GetFile(LPCTSTR lpstrRemote, CFile* fw);
virtual bool GetFile(LPCTSTR lpstrRemote, LPCTSTR lpstrLocal);
virtual void ExchangeBuffer(void* pBuf, UINT len); //<2F><>ȡһ<C8A1><D2BB><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӽ<EFBFBD><D3BD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>Ϣ
virtual void SetInformation(LPCTSTR lpstrInfo);
virtual void SetInformation(UINT nInfoID);
virtual void SetProgressDlg(CWnd* pDlg);
//<2F><><EFBFBD>ý<EFBFBD><C3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
virtual void SetPos(int nPos);
DWORD GetCurrentFileLength(void);
BOOL IsAbortFlag(void);
void SetAbortFlag(BOOL bAbort);
//<2F><><EFBFBD>ղ<EFBFBD><D5B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
void PeekMessageLoop(void);
protected:
CInternetSession *pInternetSession;
BOOL m_bAbortFlag; //<2F>Ƿ<EFBFBD><C7B7><EFBFBD>ֹ<EFBFBD><D6B9>ǰ<EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>
CString strAppName;
DWORD m_uCurFileLength; //<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>ij<EFBFBD><C4B3><EFBFBD>
ULONGLONG m_uTotalRead; //<2F>Ѷ<EFBFBD><D1B6>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>ܵij<DCB5><C4B3><EFBFBD>
CString strServerName;
void CatchException(CInternetException* pEx);//<2F><><EFBFBD>ô<EFBFBD><C3B4><EFBFBD><EFBFBD><EFBFBD>Ϣ
};
CString GetBytesString(ULONGLONG nLength);