ReactOS  0.4.14-dev-49-gfb4591c
hlink.c
Go to the documentation of this file.
1 /*
2  * Copyright 2005-2006 Jacek Caban for CodeWeavers
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17  */
18 
19 #include "mshtml_private.h"
20 
21 /**********************************************************
22  * IHlinkTarget implementation
23  */
24 
26 {
27  return CONTAINING_RECORD(iface, HTMLDocument, IHlinkTarget_iface);
28 }
29 
31 {
34 }
35 
37 {
39  return htmldoc_addref(This);
40 }
41 
43 {
45  return htmldoc_release(This);
46 }
47 
49 {
51  FIXME("(%p)->(%p)\n", This, pihlbc);
52  return E_NOTIMPL;
53 }
54 
56 {
58  FIXME("(%p)->(%p)\n", This, ppihlbc);
59  return E_NOTIMPL;
60 }
61 
62 static HRESULT WINAPI HlinkTarget_Navigate(IHlinkTarget *iface, DWORD grfHLNF, LPCWSTR pwzJumpLocation)
63 {
65 
66  TRACE("(%p)->(%08x %s)\n", This, grfHLNF, debugstr_w(pwzJumpLocation));
67 
68  if(grfHLNF)
69  FIXME("Unsupported grfHLNF=%08x\n", grfHLNF);
70  if(pwzJumpLocation)
71  FIXME("JumpLocation not supported\n");
72 
73  if(!This->doc_obj->client)
74  return navigate_new_window(This->window, This->window->uri, NULL, NULL, NULL);
75 
76  return IOleObject_DoVerb(&This->IOleObject_iface, OLEIVERB_SHOW, NULL, NULL, -1, NULL, NULL);
77 }
78 
79 static HRESULT WINAPI HlinkTarget_GetMoniker(IHlinkTarget *iface, LPCWSTR pwzLocation, DWORD dwAssign,
80  IMoniker **ppimkLocation)
81 {
83  FIXME("(%p)->(%s %08x %p)\n", This, debugstr_w(pwzLocation), dwAssign, ppimkLocation);
84  return E_NOTIMPL;
85 }
86 
88  LPWSTR *ppwzFriendlyName)
89 {
91  FIXME("(%p)->(%s %p)\n", This, debugstr_w(pwzLocation), ppwzFriendlyName);
92  return E_NOTIMPL;
93 }
94 
95 static const IHlinkTargetVtbl HlinkTargetVtbl = {
104 };
105 
107 {
108  This->IHlinkTarget_iface.lpVtbl = &HlinkTargetVtbl;
109 }
#define REFIID
Definition: guiddef.h:118
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
REFIID riid
Definition: precomp.h:44
REFIID LPVOID * ppv
Definition: atlbase.h:39
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:110
smooth NULL
Definition: ftsmooth.c:416
HRESULT navigate_new_window(HTMLOuterWindow *, IUri *, const WCHAR *, request_data_t *, IHTMLWindow2 **) DECLSPEC_HIDDEN
Definition: navigate.c:2132
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:77
#define WINAPI
Definition: msvc.h:8
unsigned long DWORD
Definition: ntddk_ex.h:95
static ULONG htmldoc_release(HTMLDocument *This)
#define E_NOTIMPL
Definition: ddrawi.h:99
static ULONG htmldoc_addref(HTMLDocument *This)
static HRESULT htmldoc_query_interface(HTMLDocument *This, REFIID riid, void **ppv)
#define OLEIVERB_SHOW
Definition: ole2.h:39
unsigned int ULONG
Definition: retypes.h:1
WCHAR * LPWSTR
Definition: xmlstorage.h:184