windows-nt/Source/XPSP1/NT/enduser/stuff/hhctrl/internet.h
2020-09-26 16:20:57 +08:00

72 lines
1.5 KiB
C++

// Copyright 1995-1997 Microsoft Corporation. All Rights Reserved.
#if _MSC_VER > 1000
#pragma once
#endif
#ifndef _INTERNET_H
#define _INTERNET_H
#define DISPID_PROGRESS 1958
#ifndef __MKTYPLIB__
#include <urlmon.H>
#include "CtrlObj.H"
class CInternetControl : public COleControl
{
public:
CInternetControl(IUnknown * pUnkOuter,
int iPrimaryDispatch,
void * pMainInterface);
virtual ~CInternetControl();
// IUnknown methods
DECLARE_STANDARD_UNKNOWN();
// Call this method to start the download of a URL. 'propId' will
// be passed back to your OnData below.
HRESULT SetupDownload(LPOLESTR url, DISPID propId);
// Derived classes implement this method. It will be called when
// data has arrived for a given dispid.
virtual HRESULT OnData(DISPID id, DWORD grfBSCF, IStream * bitstrm,
DWORD amount) { return NOERROR; }
// Derived classes can implement this method. It will be
// called at various times during the download.
virtual HRESULT OnProgress(DISPID id, ULONG ulProgress,
ULONG ulProgressMax,
ULONG ulStatusCode,
LPCWSTR pwzStatusText);
// Call this method to turn a URL into a Moniker.
HRESULT GetAMoniker(LPOLESTR url, IMoniker **);
HRESULT FireReadyStateChange(long newState);
HRESULT FireProgress(ULONG dwAmount);
// Override base class implementation...
virtual HRESULT InternalQueryInterface(REFIID, void **);
protected:
HRESULT GetBindHost();
IBindHost * m_host;
long m_readyState;
// BUGBUG: We should track all the downloads
};
#endif __MKTYPLIB__
#endif _INTERNET_H