122 lines
4.8 KiB
C
122 lines
4.8 KiB
C
/*
|
|
* urlmon.h
|
|
*/
|
|
|
|
#ifndef __WINE_URLMON_H
|
|
#define __WINE_URLMON_H
|
|
|
|
#include "winbase.h"
|
|
#include "wine/obj_base.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif /* defined(__cplusplus) */
|
|
|
|
DEFINE_GUID(IID_IBinding, 0x79EAC9C0, 0xBAF9, 0x11CE,
|
|
0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B);
|
|
typedef struct IBinding IBinding,*LPBINDING;
|
|
|
|
DEFINE_GUID(IID_IBindStatusCallback, 0x79EAC9C1, 0xBAF9, 0x11CE,
|
|
0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B);
|
|
|
|
typedef struct IBindStatusCallback IBindStatusCallback,*LPBINDSTATUSCALLBACK;
|
|
|
|
typedef struct _tagBINDINFO {
|
|
ULONG cbSize;
|
|
LPWSTR szExtraInfo;
|
|
STGMEDIUM stgmedData;
|
|
DWORD dwBindVerb;
|
|
LPWSTR szCustomVerb;
|
|
DWORD cbStgmedData;
|
|
DWORD dwOptions;
|
|
DWORD dwOptionsFlags;
|
|
DWORD dwCodePage;
|
|
SECURITY_ATTRIBUTES securityAttributes;
|
|
IID iid;
|
|
IUnknown *pUnk;
|
|
DWORD dwReserved;
|
|
} BINDINFO;
|
|
|
|
typedef enum {
|
|
BSCF_FIRSTDATANOTIFICATION = 0x01,
|
|
BSCF_INTERMEDIATEDATANOTIFICATION = 0x02,
|
|
BSCF_LASTDATANOTIFICATION = 0x04,
|
|
BSCF_DATAFULLYAVAILABLE = 0x08,
|
|
BSCF_AVAILABLEDATASIZEUNKNOWN = 0x10
|
|
} BSCF;
|
|
|
|
#define MK_S_ASYNCHRONOUS 0x000401E8
|
|
#define S_ASYNCHRONOUS MK_S_ASYNCHRONOUS
|
|
|
|
/*****************************************************************************
|
|
* IBinding interface
|
|
*/
|
|
#define ICOM_INTERFACE IBinding
|
|
#define IBinding_METHODS \
|
|
ICOM_METHOD (HRESULT,Abort) \
|
|
ICOM_METHOD (HRESULT,Suspend) \
|
|
ICOM_METHOD (HRESULT,Resume) \
|
|
ICOM_METHOD1 (HRESULT,SetPriority, LONG,nPriority) \
|
|
ICOM_METHOD1 (HRESULT,GetPriority, LONG*,pnPriority) \
|
|
ICOM_METHOD4 (HRESULT,GetBindResult, CLSID*,pclsidProtocol, DWORD*,pdwResult, LPOLESTR*,pszResult, DWORD*,pdwReserved)
|
|
#define IBinding_IMETHODS \
|
|
IUnknown_IMETHODS \
|
|
IBinding_METHODS
|
|
ICOM_DEFINE(IBinding,IUnknown)
|
|
#undef ICOM_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
#define IBinding_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
|
#define IBinding_AddRef(p) ICOM_CALL (AddRef,p)
|
|
#define IBinding_Release(p) ICOM_CALL (Release,p)
|
|
/*** IBinding methods ***/
|
|
#define IBinding_Abort(p) ICOM_CALL (Abort,p)
|
|
#define IBinding_Suspend(p) ICOM_CALL (Suspend,p)
|
|
#define IBinding_Resume(p) ICOM_CALL (Resume,p)
|
|
#define IBinding_SetPriority(p,a) ICOM_CALL2(SetPriority,p,a)
|
|
#define IBinding_GetPriority(p,a) ICOM_CALL2(GetPriority,p,a)
|
|
#define IBinding_GetBindResult(p,a,b,c,d) ICOM_CALL4(GetBindResult,p,a,b,c,d)
|
|
|
|
/*****************************************************************************
|
|
* IBindStatusCallback interface
|
|
*/
|
|
#define ICOM_INTERFACE IBindStatusCallback
|
|
#define IBindStatusCallback_METHODS \
|
|
ICOM_METHOD2 (HRESULT,OnStartBinding, DWORD,dwReserved, IBinding*,pib) \
|
|
ICOM_METHOD1 (HRESULT,GetPriority, LONG*,pnPriority) \
|
|
ICOM_METHOD (HRESULT,OnLowResource) \
|
|
ICOM_METHOD4 (HRESULT,OnProgress, ULONG,ulProgress, ULONG,ulProgressMax, ULONG,ulStatusCode, LPCWSTR,szStatusText) \
|
|
ICOM_METHOD2 (HRESULT,OnStopBinding, HRESULT,hresult, LPCWSTR,szError) \
|
|
ICOM_METHOD2 (HRESULT,GetBindInfo, DWORD*,grfBINDF, BINDINFO*,pbindinfo) \
|
|
ICOM_METHOD4 (HRESULT,OnDataAvailable, DWORD,grfBSCF, DWORD,dwSize, FORMATETC*,pformatetc, STGMEDIUM*,pstgmed) \
|
|
ICOM_METHOD2 (HRESULT,OnObjectAvailable, REFIID,iid, IUnknown*,punk)
|
|
#define IBindStatusCallback_IMETHODS \
|
|
IUnknown_IMETHODS \
|
|
IBindStatusCallback_METHODS
|
|
ICOM_DEFINE(IBindStatusCallback,IUnknown)
|
|
#undef ICOM_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
#define IBindStatusCallback_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
|
#define IBindStatusCallback_AddRef(p) ICOM_CALL (AddRef,p)
|
|
#define IBindStatusCallback_Release(p) ICOM_CALL (Release,p)
|
|
/*** IBindStatusCallback methods ***/
|
|
#define IBindStatusCallback_OnStartBinding(p,a,b) ICOM_CALL2(OnStartBinding,p,a,b)
|
|
#define IBindStatusCallback_GetPriority(p,a) ICOM_CALL1(GetPriority,p,a)
|
|
#define IBindStatusCallback_OnLowResource(p) ICOM_CALL (OnLowResource,p)
|
|
#define IBindStatusCallback_OnProgress(p,a,b,c,d) ICOM_CALL4(OnProgress,p,a,b,c,d)
|
|
#define IBindStatusCallback_OnStopBinding(p,a,b) ICOM_CALL2(OnStopBinding,p,a,b)
|
|
#define IBindStatusCallback_GetBindInfo(p,a,b) ICOM_CALL2(GetBindInfo,p,a,b)
|
|
#define IBindStatusCallback_OnDataAvailable(p,a,b,c,d) ICOM_CALL4(OnDataAvailable,p,a,b,c,d)
|
|
#define IBindStatusCallback_OnObjectAvailable(p,a,b) ICOM_CALL2(OnObjectAvailable,p,a,b)
|
|
|
|
HRESULT WINAPI CreateURLMoniker(IMoniker *pmkContext, LPWSTR szURL, IMoniker **ppmk);
|
|
HRESULT WINAPI RegisterBindStatusCallback(IBindCtx *pbc, IBindStatusCallback *pbsc, IBindStatusCallback **ppbsc, DWORD dwReserved);
|
|
|
|
#ifdef __cplusplus
|
|
} /* extern "C" */
|
|
#endif /* defined(__cplusplus) */
|
|
|
|
#endif /* __WINE_URLMON_H */
|
|
|