shdocvw: Get rid of *_THIS macros in navigate.c.
This commit is contained in:
parent
538a870b89
commit
2450a2d834
|
@ -34,8 +34,8 @@ WINE_DEFAULT_DEBUG_CHANNEL(shdocvw);
|
|||
static const WCHAR emptyW[] = {0};
|
||||
|
||||
typedef struct {
|
||||
const IBindStatusCallbackVtbl *lpBindStatusCallbackVtbl;
|
||||
const IHttpNegotiateVtbl *lpHttpNegotiateVtbl;
|
||||
IBindStatusCallback IBindStatusCallback_iface;
|
||||
IHttpNegotiate IHttpNegotiate_iface;
|
||||
|
||||
LONG ref;
|
||||
|
||||
|
@ -47,9 +47,6 @@ typedef struct {
|
|||
ULONG post_data_len;
|
||||
} BindStatusCallback;
|
||||
|
||||
#define BINDSC(x) ((IBindStatusCallback*) &(x)->lpBindStatusCallbackVtbl)
|
||||
#define HTTPNEG(x) ((IHttpNegotiate*) &(x)->lpHttpNegotiateVtbl)
|
||||
|
||||
static void dump_BINDINFO(BINDINFO *bi)
|
||||
{
|
||||
static const char * const BINDINFOF_str[] = {
|
||||
|
@ -130,38 +127,38 @@ static HRESULT set_dochost_url(DocHost *This, const WCHAR *url)
|
|||
return S_OK;
|
||||
}
|
||||
|
||||
#define BINDSC_THIS(iface) DEFINE_THIS(BindStatusCallback, BindStatusCallback, iface)
|
||||
static inline BindStatusCallback *impl_from_IBindStatusCallback(IBindStatusCallback *iface)
|
||||
{
|
||||
return (BindStatusCallback*)((char*)iface - FIELD_OFFSET(BindStatusCallback, IBindStatusCallback_iface));
|
||||
}
|
||||
|
||||
static HRESULT WINAPI BindStatusCallback_QueryInterface(IBindStatusCallback *iface,
|
||||
REFIID riid, void **ppv)
|
||||
{
|
||||
BindStatusCallback *This = BINDSC_THIS(iface);
|
||||
|
||||
*ppv = NULL;
|
||||
BindStatusCallback *This = impl_from_IBindStatusCallback(iface);
|
||||
|
||||
if(IsEqualGUID(&IID_IUnknown, riid)) {
|
||||
TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv);
|
||||
*ppv = BINDSC(This);
|
||||
*ppv = &This->IBindStatusCallback_iface;
|
||||
}else if(IsEqualGUID(&IID_IBindStatusCallback, riid)) {
|
||||
TRACE("(%p)->(IID_IBindStatusCallback %p)\n", This, ppv);
|
||||
*ppv = BINDSC(This);
|
||||
*ppv = &This->IBindStatusCallback_iface;
|
||||
}else if(IsEqualGUID(&IID_IHttpNegotiate, riid)) {
|
||||
TRACE("(%p)->(IID_IHttpNegotiate %p)\n", This, ppv);
|
||||
*ppv = HTTPNEG(This);
|
||||
*ppv = &This->IHttpNegotiate_iface;
|
||||
}else {
|
||||
*ppv = NULL;
|
||||
WARN("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppv);
|
||||
return E_NOINTERFACE;
|
||||
}
|
||||
|
||||
if(*ppv) {
|
||||
IBindStatusCallback_AddRef(BINDSC(This));
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
WARN("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppv);
|
||||
return E_NOINTERFACE;
|
||||
IUnknown_AddRef((IUnknown*)*ppv);
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static ULONG WINAPI BindStatusCallback_AddRef(IBindStatusCallback *iface)
|
||||
{
|
||||
BindStatusCallback *This = BINDSC_THIS(iface);
|
||||
BindStatusCallback *This = impl_from_IBindStatusCallback(iface);
|
||||
LONG ref = InterlockedIncrement(&This->ref);
|
||||
|
||||
TRACE("(%p) ref=%d\n", This, ref);
|
||||
|
@ -171,7 +168,7 @@ static ULONG WINAPI BindStatusCallback_AddRef(IBindStatusCallback *iface)
|
|||
|
||||
static ULONG WINAPI BindStatusCallback_Release(IBindStatusCallback *iface)
|
||||
{
|
||||
BindStatusCallback *This = BINDSC_THIS(iface);
|
||||
BindStatusCallback *This = impl_from_IBindStatusCallback(iface);
|
||||
LONG ref = InterlockedDecrement(&This->ref);
|
||||
|
||||
TRACE("(%p) ref=%d\n", This, ref);
|
||||
|
@ -192,7 +189,7 @@ static ULONG WINAPI BindStatusCallback_Release(IBindStatusCallback *iface)
|
|||
static HRESULT WINAPI BindStatusCallback_OnStartBinding(IBindStatusCallback *iface,
|
||||
DWORD dwReserved, IBinding *pbind)
|
||||
{
|
||||
BindStatusCallback *This = BINDSC_THIS(iface);
|
||||
BindStatusCallback *This = impl_from_IBindStatusCallback(iface);
|
||||
|
||||
TRACE("(%p)->(%d %p)\n", This, dwReserved, pbind);
|
||||
|
||||
|
@ -202,7 +199,7 @@ static HRESULT WINAPI BindStatusCallback_OnStartBinding(IBindStatusCallback *ifa
|
|||
static HRESULT WINAPI BindStatusCallback_GetPriority(IBindStatusCallback *iface,
|
||||
LONG *pnPriority)
|
||||
{
|
||||
BindStatusCallback *This = BINDSC_THIS(iface);
|
||||
BindStatusCallback *This = impl_from_IBindStatusCallback(iface);
|
||||
FIXME("(%p)->(%p)\n", This, pnPriority);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
@ -210,7 +207,7 @@ static HRESULT WINAPI BindStatusCallback_GetPriority(IBindStatusCallback *iface,
|
|||
static HRESULT WINAPI BindStatusCallback_OnLowResource(IBindStatusCallback *iface,
|
||||
DWORD reserved)
|
||||
{
|
||||
BindStatusCallback *This = BINDSC_THIS(iface);
|
||||
BindStatusCallback *This = impl_from_IBindStatusCallback(iface);
|
||||
FIXME("(%p)->(%d)\n", This, reserved);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
@ -218,7 +215,7 @@ static HRESULT WINAPI BindStatusCallback_OnLowResource(IBindStatusCallback *ifac
|
|||
static HRESULT WINAPI BindStatusCallback_OnProgress(IBindStatusCallback *iface,
|
||||
ULONG ulProgress, ULONG ulProgressMax, ULONG ulStatusCode, LPCWSTR szStatusText)
|
||||
{
|
||||
BindStatusCallback *This = BINDSC_THIS(iface);
|
||||
BindStatusCallback *This = impl_from_IBindStatusCallback(iface);
|
||||
|
||||
TRACE("(%p)->(%d %d %d %s)\n", This, ulProgress, ulProgressMax, ulStatusCode,
|
||||
debugstr_w(szStatusText));
|
||||
|
@ -247,7 +244,7 @@ static HRESULT WINAPI BindStatusCallback_OnProgress(IBindStatusCallback *iface,
|
|||
static HRESULT WINAPI BindStatusCallback_OnStopBinding(IBindStatusCallback *iface,
|
||||
HRESULT hresult, LPCWSTR szError)
|
||||
{
|
||||
BindStatusCallback *This = BINDSC_THIS(iface);
|
||||
BindStatusCallback *This = impl_from_IBindStatusCallback(iface);
|
||||
|
||||
TRACE("(%p)->(%08x %s)\n", This, hresult, debugstr_w(szError));
|
||||
|
||||
|
@ -264,7 +261,7 @@ static HRESULT WINAPI BindStatusCallback_OnStopBinding(IBindStatusCallback *ifac
|
|||
static HRESULT WINAPI BindStatusCallback_GetBindInfo(IBindStatusCallback *iface,
|
||||
DWORD *grfBINDF, BINDINFO *pbindinfo)
|
||||
{
|
||||
BindStatusCallback *This = BINDSC_THIS(iface);
|
||||
BindStatusCallback *This = impl_from_IBindStatusCallback(iface);
|
||||
|
||||
TRACE("(%p)->(%p %p)\n", This, grfBINDF, pbindinfo);
|
||||
|
||||
|
@ -276,8 +273,8 @@ static HRESULT WINAPI BindStatusCallback_GetBindInfo(IBindStatusCallback *iface,
|
|||
pbindinfo->stgmedData.tymed = TYMED_HGLOBAL;
|
||||
pbindinfo->stgmedData.u.hGlobal = This->post_data;
|
||||
pbindinfo->cbstgmedData = This->post_data_len;
|
||||
pbindinfo->stgmedData.pUnkForRelease = (IUnknown*)BINDSC(This);
|
||||
IBindStatusCallback_AddRef(BINDSC(This));
|
||||
pbindinfo->stgmedData.pUnkForRelease = (IUnknown*)&This->IBindStatusCallback_iface;
|
||||
IBindStatusCallback_AddRef(&This->IBindStatusCallback_iface);
|
||||
}
|
||||
|
||||
return S_OK;
|
||||
|
@ -286,7 +283,7 @@ static HRESULT WINAPI BindStatusCallback_GetBindInfo(IBindStatusCallback *iface,
|
|||
static HRESULT WINAPI BindStatusCallback_OnDataAvailable(IBindStatusCallback *iface,
|
||||
DWORD grfBSCF, DWORD dwSize, FORMATETC *pformatetc, STGMEDIUM *pstgmed)
|
||||
{
|
||||
BindStatusCallback *This = BINDSC_THIS(iface);
|
||||
BindStatusCallback *This = impl_from_IBindStatusCallback(iface);
|
||||
FIXME("(%p)->(%08x %d %p %p)\n", This, grfBSCF, dwSize, pformatetc, pstgmed);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
@ -294,15 +291,13 @@ static HRESULT WINAPI BindStatusCallback_OnDataAvailable(IBindStatusCallback *if
|
|||
static HRESULT WINAPI BindStatusCallback_OnObjectAvailable(IBindStatusCallback *iface,
|
||||
REFIID riid, IUnknown *punk)
|
||||
{
|
||||
BindStatusCallback *This = BINDSC_THIS(iface);
|
||||
BindStatusCallback *This = impl_from_IBindStatusCallback(iface);
|
||||
|
||||
TRACE("(%p)->(%s %p)\n", This, debugstr_guid(riid), punk);
|
||||
|
||||
return dochost_object_available(This->doc_host, punk);
|
||||
}
|
||||
|
||||
#undef BSC_THIS
|
||||
|
||||
static const IBindStatusCallbackVtbl BindStatusCallbackVtbl = {
|
||||
BindStatusCallback_QueryInterface,
|
||||
BindStatusCallback_AddRef,
|
||||
|
@ -317,31 +312,34 @@ static const IBindStatusCallbackVtbl BindStatusCallbackVtbl = {
|
|||
BindStatusCallback_OnObjectAvailable
|
||||
};
|
||||
|
||||
#define HTTPNEG_THIS(iface) DEFINE_THIS(BindStatusCallback, HttpNegotiate, iface)
|
||||
static inline BindStatusCallback *impl_from_IHttpNegotiate(IHttpNegotiate *iface)
|
||||
{
|
||||
return (BindStatusCallback*)((char*)iface - FIELD_OFFSET(BindStatusCallback, IHttpNegotiate_iface));
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HttpNegotiate_QueryInterface(IHttpNegotiate *iface,
|
||||
REFIID riid, void **ppv)
|
||||
{
|
||||
BindStatusCallback *This = HTTPNEG_THIS(iface);
|
||||
return IBindStatusCallback_QueryInterface(BINDSC(This), riid, ppv);
|
||||
BindStatusCallback *This = impl_from_IHttpNegotiate(iface);
|
||||
return IBindStatusCallback_QueryInterface(&This->IBindStatusCallback_iface, riid, ppv);
|
||||
}
|
||||
|
||||
static ULONG WINAPI HttpNegotiate_AddRef(IHttpNegotiate *iface)
|
||||
{
|
||||
BindStatusCallback *This = HTTPNEG_THIS(iface);
|
||||
return IBindStatusCallback_AddRef(BINDSC(This));
|
||||
BindStatusCallback *This = impl_from_IHttpNegotiate(iface);
|
||||
return IBindStatusCallback_AddRef(&This->IBindStatusCallback_iface);
|
||||
}
|
||||
|
||||
static ULONG WINAPI HttpNegotiate_Release(IHttpNegotiate *iface)
|
||||
{
|
||||
BindStatusCallback *This = HTTPNEG_THIS(iface);
|
||||
return IBindStatusCallback_Release(BINDSC(This));
|
||||
BindStatusCallback *This = impl_from_IHttpNegotiate(iface);
|
||||
return IBindStatusCallback_Release(&This->IBindStatusCallback_iface);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HttpNegotiate_BeginningTransaction(IHttpNegotiate *iface,
|
||||
LPCWSTR szURL, LPCWSTR szHeaders, DWORD dwReserved, LPWSTR *pszAdditionalHeaders)
|
||||
{
|
||||
BindStatusCallback *This = HTTPNEG_THIS(iface);
|
||||
BindStatusCallback *This = impl_from_IHttpNegotiate(iface);
|
||||
|
||||
TRACE("(%p)->(%s %s %d %p)\n", This, debugstr_w(szURL), debugstr_w(szHeaders),
|
||||
dwReserved, pszAdditionalHeaders);
|
||||
|
@ -359,14 +357,12 @@ static HRESULT WINAPI HttpNegotiate_OnResponse(IHttpNegotiate *iface,
|
|||
DWORD dwResponseCode, LPCWSTR szResponseHeaders, LPCWSTR szRequestHeaders,
|
||||
LPWSTR *pszAdditionalRequestHeaders)
|
||||
{
|
||||
BindStatusCallback *This = HTTPNEG_THIS(iface);
|
||||
BindStatusCallback *This = impl_from_IHttpNegotiate(iface);
|
||||
TRACE("(%p)->(%d %s %s %p)\n", This, dwResponseCode, debugstr_w(szResponseHeaders),
|
||||
debugstr_w(szRequestHeaders), pszAdditionalRequestHeaders);
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
#undef HTTPNEG_THIS
|
||||
|
||||
static const IHttpNegotiateVtbl HttpNegotiateVtbl = {
|
||||
HttpNegotiate_QueryInterface,
|
||||
HttpNegotiate_AddRef,
|
||||
|
@ -380,8 +376,8 @@ static BindStatusCallback *create_callback(DocHost *doc_host, LPCWSTR url, PBYTE
|
|||
{
|
||||
BindStatusCallback *ret = heap_alloc(sizeof(BindStatusCallback));
|
||||
|
||||
ret->lpBindStatusCallbackVtbl = &BindStatusCallbackVtbl;
|
||||
ret->lpHttpNegotiateVtbl = &HttpNegotiateVtbl;
|
||||
ret->IBindStatusCallback_iface.lpVtbl = &BindStatusCallbackVtbl;
|
||||
ret->IHttpNegotiate_iface.lpVtbl = &HttpNegotiateVtbl;
|
||||
|
||||
ret->ref = 1;
|
||||
ret->url = heap_strdupW(url);
|
||||
|
@ -712,12 +708,12 @@ static HRESULT navigate_bsc(DocHost *This, BindStatusCallback *bsc, IMoniker *mo
|
|||
if(This->document)
|
||||
deactivate_document(This);
|
||||
|
||||
CreateAsyncBindCtx(0, BINDSC(bsc), 0, &bindctx);
|
||||
CreateAsyncBindCtx(0, &bsc->IBindStatusCallback_iface, 0, &bindctx);
|
||||
|
||||
if(This->frame)
|
||||
IOleInPlaceFrame_EnableModeless(This->frame, FALSE);
|
||||
|
||||
hres = bind_to_object(This, mon, bsc->url, bindctx, BINDSC(bsc));
|
||||
hres = bind_to_object(This, mon, bsc->url, bindctx, &bsc->IBindStatusCallback_iface);
|
||||
|
||||
if(This->frame)
|
||||
IOleInPlaceFrame_EnableModeless(This->frame, TRUE);
|
||||
|
@ -741,7 +737,7 @@ static void navigate_bsc_proc(DocHost *This, task_header_t *t)
|
|||
|
||||
navigate_bsc(This, task->bsc, NULL);
|
||||
|
||||
IBindStatusCallback_Release(BINDSC(task->bsc));
|
||||
IBindStatusCallback_Release(&task->bsc->IBindStatusCallback_iface);
|
||||
}
|
||||
|
||||
|
||||
|
@ -849,7 +845,7 @@ static HRESULT navigate_hlink(DocHost *This, IMoniker *mon, IBindCtx *bindctx,
|
|||
}else {
|
||||
bsc = create_callback(This, url, post_data, post_data_len, headers);
|
||||
hres = navigate_bsc(This, bsc, mon);
|
||||
IBindStatusCallback_Release(BINDSC(bsc));
|
||||
IBindStatusCallback_Release(&bsc->IBindStatusCallback_iface);
|
||||
}
|
||||
|
||||
CoTaskMemFree(url);
|
||||
|
@ -884,30 +880,33 @@ HRESULT go_home(DocHost *This)
|
|||
return navigate_url(This, wszPageName, NULL, NULL, NULL, NULL);
|
||||
}
|
||||
|
||||
#define HLINKFRAME_THIS(iface) DEFINE_THIS(HlinkFrame, IHlinkFrame, iface)
|
||||
static inline HlinkFrame *impl_from_IHlinkFrame(IHlinkFrame *iface)
|
||||
{
|
||||
return (HlinkFrame*)((char*)iface - FIELD_OFFSET(HlinkFrame, IHlinkFrame_iface));
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HlinkFrame_QueryInterface(IHlinkFrame *iface, REFIID riid, void **ppv)
|
||||
{
|
||||
HlinkFrame *This = HLINKFRAME_THIS(iface);
|
||||
HlinkFrame *This = impl_from_IHlinkFrame(iface);
|
||||
return IUnknown_QueryInterface(This->outer, riid, ppv);
|
||||
}
|
||||
|
||||
static ULONG WINAPI HlinkFrame_AddRef(IHlinkFrame *iface)
|
||||
{
|
||||
HlinkFrame *This = HLINKFRAME_THIS(iface);
|
||||
HlinkFrame *This = impl_from_IHlinkFrame(iface);
|
||||
return IUnknown_AddRef(This->outer);
|
||||
}
|
||||
|
||||
static ULONG WINAPI HlinkFrame_Release(IHlinkFrame *iface)
|
||||
{
|
||||
HlinkFrame *This = HLINKFRAME_THIS(iface);
|
||||
HlinkFrame *This = impl_from_IHlinkFrame(iface);
|
||||
return IUnknown_Release(This->outer);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HlinkFrame_SetBrowseContext(IHlinkFrame *iface,
|
||||
IHlinkBrowseContext *pihlbc)
|
||||
{
|
||||
HlinkFrame *This = HLINKFRAME_THIS(iface);
|
||||
HlinkFrame *This = impl_from_IHlinkFrame(iface);
|
||||
FIXME("(%p)->(%p)\n", This, pihlbc);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
@ -915,7 +914,7 @@ static HRESULT WINAPI HlinkFrame_SetBrowseContext(IHlinkFrame *iface,
|
|||
static HRESULT WINAPI HlinkFrame_GetBrowseContext(IHlinkFrame *iface,
|
||||
IHlinkBrowseContext **ppihlbc)
|
||||
{
|
||||
HlinkFrame *This = HLINKFRAME_THIS(iface);
|
||||
HlinkFrame *This = impl_from_IHlinkFrame(iface);
|
||||
FIXME("(%p)->(%p)\n", This, ppihlbc);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
@ -923,7 +922,7 @@ static HRESULT WINAPI HlinkFrame_GetBrowseContext(IHlinkFrame *iface,
|
|||
static HRESULT WINAPI HlinkFrame_Navigate(IHlinkFrame *iface, DWORD grfHLNF, LPBC pbc,
|
||||
IBindStatusCallback *pibsc, IHlink *pihlNavigate)
|
||||
{
|
||||
HlinkFrame *This = HLINKFRAME_THIS(iface);
|
||||
HlinkFrame *This = impl_from_IHlinkFrame(iface);
|
||||
IMoniker *mon;
|
||||
LPWSTR location = NULL;
|
||||
|
||||
|
@ -954,7 +953,7 @@ static HRESULT WINAPI HlinkFrame_Navigate(IHlinkFrame *iface, DWORD grfHLNF, LPB
|
|||
static HRESULT WINAPI HlinkFrame_OnNavigate(IHlinkFrame *iface, DWORD grfHLNF,
|
||||
IMoniker *pimkTarget, LPCWSTR pwzLocation, LPCWSTR pwzFriendlyName, DWORD dwreserved)
|
||||
{
|
||||
HlinkFrame *This = HLINKFRAME_THIS(iface);
|
||||
HlinkFrame *This = impl_from_IHlinkFrame(iface);
|
||||
FIXME("(%p)->(%08x %p %s %s %d)\n", This, grfHLNF, pimkTarget, debugstr_w(pwzLocation),
|
||||
debugstr_w(pwzFriendlyName), dwreserved);
|
||||
return E_NOTIMPL;
|
||||
|
@ -963,14 +962,12 @@ static HRESULT WINAPI HlinkFrame_OnNavigate(IHlinkFrame *iface, DWORD grfHLNF,
|
|||
static HRESULT WINAPI HlinkFrame_UpdateHlink(IHlinkFrame *iface, ULONG uHLID,
|
||||
IMoniker *pimkTarget, LPCWSTR pwzLocation, LPCWSTR pwzFriendlyName)
|
||||
{
|
||||
HlinkFrame *This = HLINKFRAME_THIS(iface);
|
||||
HlinkFrame *This = impl_from_IHlinkFrame(iface);
|
||||
FIXME("(%p)->(%u %p %s %s)\n", This, uHLID, pimkTarget, debugstr_w(pwzLocation),
|
||||
debugstr_w(pwzFriendlyName));
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
#undef HLINKFRAME_THIS
|
||||
|
||||
static const IHlinkFrameVtbl HlinkFrameVtbl = {
|
||||
HlinkFrame_QueryInterface,
|
||||
HlinkFrame_AddRef,
|
||||
|
@ -982,112 +979,113 @@ static const IHlinkFrameVtbl HlinkFrameVtbl = {
|
|||
HlinkFrame_UpdateHlink
|
||||
};
|
||||
|
||||
#define TARGETFRAME2_THIS(iface) DEFINE_THIS(HlinkFrame, ITargetFrame2, iface)
|
||||
static inline HlinkFrame *impl_from_ITargetFrame2(ITargetFrame2 *iface)
|
||||
{
|
||||
return (HlinkFrame*)((char*)iface - FIELD_OFFSET(HlinkFrame, IHlinkFrame_iface));
|
||||
}
|
||||
|
||||
static HRESULT WINAPI TargetFrame2_QueryInterface(ITargetFrame2 *iface, REFIID riid, void **ppv)
|
||||
{
|
||||
HlinkFrame *This = TARGETFRAME2_THIS(iface);
|
||||
HlinkFrame *This = impl_from_ITargetFrame2(iface);
|
||||
return IUnknown_QueryInterface(This->outer, riid, ppv);
|
||||
}
|
||||
|
||||
static ULONG WINAPI TargetFrame2_AddRef(ITargetFrame2 *iface)
|
||||
{
|
||||
HlinkFrame *This = TARGETFRAME2_THIS(iface);
|
||||
HlinkFrame *This = impl_from_ITargetFrame2(iface);
|
||||
return IUnknown_AddRef(This->outer);
|
||||
}
|
||||
|
||||
static ULONG WINAPI TargetFrame2_Release(ITargetFrame2 *iface)
|
||||
{
|
||||
HlinkFrame *This = TARGETFRAME2_THIS(iface);
|
||||
HlinkFrame *This = impl_from_ITargetFrame2(iface);
|
||||
return IUnknown_Release(This->outer);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI TargetFrame2_SetFrameName(ITargetFrame2 *iface, LPCWSTR pszFrameName)
|
||||
{
|
||||
HlinkFrame *This = TARGETFRAME2_THIS(iface);
|
||||
HlinkFrame *This = impl_from_ITargetFrame2(iface);
|
||||
FIXME("(%p)->(%s)\n", This, debugstr_w(pszFrameName));
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI TargetFrame2_GetFrameName(ITargetFrame2 *iface, LPWSTR *ppszFrameName)
|
||||
{
|
||||
HlinkFrame *This = TARGETFRAME2_THIS(iface);
|
||||
HlinkFrame *This = impl_from_ITargetFrame2(iface);
|
||||
FIXME("(%p)->(%p)\n", This, ppszFrameName);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI TargetFrame2_GetParentFrame(ITargetFrame2 *iface, IUnknown **ppunkParent)
|
||||
{
|
||||
HlinkFrame *This = TARGETFRAME2_THIS(iface);
|
||||
HlinkFrame *This = impl_from_ITargetFrame2(iface);
|
||||
FIXME("(%p)->(%p)\n", This, ppunkParent);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI TargetFrame2_SetFrameSrc(ITargetFrame2 *iface, LPCWSTR pszFrameSrc)
|
||||
{
|
||||
HlinkFrame *This = TARGETFRAME2_THIS(iface);
|
||||
HlinkFrame *This = impl_from_ITargetFrame2(iface);
|
||||
FIXME("(%p)->(%s)\n", This, debugstr_w(pszFrameSrc));
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI TargetFrame2_GetFrameSrc(ITargetFrame2 *iface, LPWSTR *ppszFrameSrc)
|
||||
{
|
||||
HlinkFrame *This = TARGETFRAME2_THIS(iface);
|
||||
HlinkFrame *This = impl_from_ITargetFrame2(iface);
|
||||
FIXME("(%p)->()\n", This);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI TargetFrame2_GetFramesContainer(ITargetFrame2 *iface, IOleContainer **ppContainer)
|
||||
{
|
||||
HlinkFrame *This = TARGETFRAME2_THIS(iface);
|
||||
HlinkFrame *This = impl_from_ITargetFrame2(iface);
|
||||
FIXME("(%p)->(%p)\n", This, ppContainer);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI TargetFrame2_SetFrameOptions(ITargetFrame2 *iface, DWORD dwFlags)
|
||||
{
|
||||
HlinkFrame *This = TARGETFRAME2_THIS(iface);
|
||||
HlinkFrame *This = impl_from_ITargetFrame2(iface);
|
||||
FIXME("(%p)->(%x)\n", This, dwFlags);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI TargetFrame2_GetFrameOptions(ITargetFrame2 *iface, DWORD *pdwFlags)
|
||||
{
|
||||
HlinkFrame *This = TARGETFRAME2_THIS(iface);
|
||||
HlinkFrame *This = impl_from_ITargetFrame2(iface);
|
||||
FIXME("(%p)->(%p)\n", This, pdwFlags);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI TargetFrame2_SetFrameMargins(ITargetFrame2 *iface, DWORD dwWidth, DWORD dwHeight)
|
||||
{
|
||||
HlinkFrame *This = TARGETFRAME2_THIS(iface);
|
||||
HlinkFrame *This = impl_from_ITargetFrame2(iface);
|
||||
FIXME("(%p)->(%d %d)\n", This, dwWidth, dwHeight);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI TargetFrame2_GetFrameMargins(ITargetFrame2 *iface, DWORD *pdwWidth, DWORD *pdwHeight)
|
||||
{
|
||||
HlinkFrame *This = TARGETFRAME2_THIS(iface);
|
||||
HlinkFrame *This = impl_from_ITargetFrame2(iface);
|
||||
FIXME("(%p)->(%p %p)\n", This, pdwWidth, pdwHeight);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI TargetFrame2_FindFrame(ITargetFrame2 *iface, LPCWSTR pszTargetName, DWORD dwFlags, IUnknown **ppunkTargetFrame)
|
||||
{
|
||||
HlinkFrame *This = TARGETFRAME2_THIS(iface);
|
||||
HlinkFrame *This = impl_from_ITargetFrame2(iface);
|
||||
FIXME("(%p)->(%s %x %p)\n", This, debugstr_w(pszTargetName), dwFlags, ppunkTargetFrame);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI TargetFrame2_GetTargetAlias(ITargetFrame2 *iface, LPCWSTR pszTargetName, LPWSTR *ppszTargetAlias)
|
||||
{
|
||||
HlinkFrame *This = TARGETFRAME2_THIS(iface);
|
||||
HlinkFrame *This = impl_from_ITargetFrame2(iface);
|
||||
FIXME("(%p)->(%s %p)\n", This, debugstr_w(pszTargetName), ppszTargetAlias);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
#undef TARGETFRAME2_THIS
|
||||
|
||||
static const ITargetFrame2Vtbl TargetFrame2Vtbl = {
|
||||
TargetFrame2_QueryInterface,
|
||||
TargetFrame2_AddRef,
|
||||
|
@ -1110,10 +1108,10 @@ BOOL HlinkFrame_QI(HlinkFrame *This, REFIID riid, void **ppv)
|
|||
{
|
||||
if(IsEqualGUID(&IID_IHlinkFrame, riid)) {
|
||||
TRACE("(%p)->(IID_IHlinkFrame %p)\n", This, ppv);
|
||||
*ppv = HLINKFRAME(This);
|
||||
*ppv = &This->IHlinkFrame_iface;
|
||||
}else if(IsEqualGUID(&IID_ITargetFrame2, riid)) {
|
||||
TRACE("(%p)->(IID_ITargetFrame2 %p)\n", This, ppv);
|
||||
*ppv = TARGETFRAME2(This);
|
||||
*ppv = &This->ITargetFrame2_iface;
|
||||
}else {
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -1124,8 +1122,8 @@ BOOL HlinkFrame_QI(HlinkFrame *This, REFIID riid, void **ppv)
|
|||
|
||||
void HlinkFrame_Init(HlinkFrame *This, IUnknown *outer, DocHost *doc_host)
|
||||
{
|
||||
This->lpIHlinkFrameVtbl = &HlinkFrameVtbl;
|
||||
This->lpITargetFrame2Vtbl = &TargetFrame2Vtbl;
|
||||
This->IHlinkFrame_iface.lpVtbl = &HlinkFrameVtbl;
|
||||
This->ITargetFrame2_iface.lpVtbl = &TargetFrame2Vtbl;
|
||||
|
||||
This->outer = outer;
|
||||
This->doc_host = doc_host;
|
||||
|
|
|
@ -69,8 +69,8 @@ typedef struct {
|
|||
} ConnectionPointContainer;
|
||||
|
||||
typedef struct {
|
||||
const IHlinkFrameVtbl *lpIHlinkFrameVtbl;
|
||||
const ITargetFrame2Vtbl *lpITargetFrame2Vtbl;
|
||||
IHlinkFrame IHlinkFrame_iface;
|
||||
ITargetFrame2 ITargetFrame2_iface;
|
||||
|
||||
IUnknown *outer;
|
||||
DocHost *doc_host;
|
||||
|
@ -197,9 +197,6 @@ struct InternetExplorer {
|
|||
#define CONPTCONT(x) ((IConnectionPointContainer*) &(x)->lpConnectionPointContainerVtbl)
|
||||
#define INPLACEFRAME(x) ((IOleInPlaceFrame*) &(x)->lpOleInPlaceFrameVtbl)
|
||||
|
||||
#define HLINKFRAME(x) ((IHlinkFrame*) &(x)->lpIHlinkFrameVtbl)
|
||||
#define TARGETFRAME2(x) ((ITargetFrame2*) &(x)->lpITargetFrame2Vtbl)
|
||||
|
||||
void WebBrowser_OleObject_Init(WebBrowser*);
|
||||
void WebBrowser_ViewObject_Init(WebBrowser*);
|
||||
void WebBrowser_Persist_Init(WebBrowser*);
|
||||
|
|
Loading…
Reference in New Issue