ReactOS  0.4.15-dev-1197-g8081ba9
browse_ctx.c File Reference
#include "hlink_private.h"
#include "wine/debug.h"
#include "wine/list.h"
Include dependency graph for browse_ctx.c:

Go to the source code of this file.

Classes

struct  link_entry
 
struct  HlinkBCImpl
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (hlink)
 
static HlinkBCImplimpl_from_IHlinkBrowseContext (IHlinkBrowseContext *iface)
 
static HRESULT WINAPI IHlinkBC_fnQueryInterface (IHlinkBrowseContext *iface, REFIID riid, LPVOID *ppvObj)
 
static ULONG WINAPI IHlinkBC_fnAddRef (IHlinkBrowseContext *iface)
 
static ULONG WINAPI IHlinkBC_fnRelease (IHlinkBrowseContext *iface)
 
static HRESULT WINAPI IHlinkBC_Register (IHlinkBrowseContext *iface, DWORD dwReserved, IUnknown *piunk, IMoniker *pimk, DWORD *pdwRegister)
 
static HRESULT WINAPI IHlinkBC_GetObject (IHlinkBrowseContext *iface, IMoniker *pimk, BOOL fBindifRootRegistered, IUnknown **ppiunk)
 
static HRESULT WINAPI IHlinkBC_Revoke (IHlinkBrowseContext *iface, DWORD dwRegister)
 
static HRESULT WINAPI IHlinkBC_SetBrowseWindowInfo (IHlinkBrowseContext *iface, HLBWINFO *phlbwi)
 
static HRESULT WINAPI IHlinkBC_GetBrowseWindowInfo (IHlinkBrowseContext *iface, HLBWINFO *phlbwi)
 
static HRESULT WINAPI IHlinkBC_SetInitialHlink (IHlinkBrowseContext *iface, IMoniker *pimkTarget, LPCWSTR pwzLocation, LPCWSTR pwzFriendlyName)
 
static HRESULT WINAPI IHlinkBC_OnNavigateHlink (IHlinkBrowseContext *iface, DWORD grfHLNF, IMoniker *pmkTarget, LPCWSTR pwzLocation, LPCWSTR pwzFriendlyName, ULONG *puHLID)
 
static struct link_entrycontext_get_entry (HlinkBCImpl *ctxt, ULONG hlid)
 
static HRESULT WINAPI IHlinkBC_UpdateHlink (IHlinkBrowseContext *iface, ULONG hlid, IMoniker *target, LPCWSTR location, LPCWSTR friendly_name)
 
static HRESULT WINAPI IHlinkBC_EnumNavigationStack (IHlinkBrowseContext *iface, DWORD dwReserved, DWORD grfHLFNAMEF, IEnumHLITEM **ppienumhlitem)
 
static HRESULT WINAPI IHlinkBC_QueryHlink (IHlinkBrowseContext *iface, DWORD grfHLONG, ULONG uHLID)
 
static HRESULT WINAPI IHlinkBC_GetHlink (IHlinkBrowseContext *iface, ULONG hlid, IHlink **ret)
 
static HRESULT WINAPI IHlinkBC_SetCurrentHlink (IHlinkBrowseContext *iface, ULONG hlid)
 
static HRESULT WINAPI IHlinkBC_Clone (IHlinkBrowseContext *iface, IUnknown *piunkOuter, REFIID riid, IUnknown **ppiunkOjb)
 
static HRESULT WINAPI IHlinkBC_Close (IHlinkBrowseContext *iface, DWORD reserved)
 
HRESULT HLinkBrowseContext_Constructor (IUnknown *pUnkOuter, REFIID riid, void **ppv)
 

Variables

static const WCHAR szIdent [] = {'W','I','N','E','H','L','I','N','K',0}
 
static const IHlinkBrowseContextVtbl hlvt
 

Function Documentation

◆ context_get_entry()

static struct link_entry* context_get_entry ( HlinkBCImpl ctxt,
ULONG  hlid 
)
static

Definition at line 237 of file browse_ctx.c.

238 {
239  struct list *entry;
240 
241  switch (hlid)
242  {
243  case HLID_PREVIOUS:
244  entry = list_prev(&ctxt->links, &ctxt->current->entry);
245  break;
246  case HLID_NEXT:
247  entry = list_next(&ctxt->links, &ctxt->current->entry);
248  break;
249  case HLID_CURRENT:
250  entry = &ctxt->current->entry;
251  break;
252  case HLID_STACKBOTTOM:
253  entry = list_tail(&ctxt->links);
254  break;
255  case HLID_STACKTOP:
256  entry = list_head(&ctxt->links);
257  break;
258  default:
259  WARN("unknown id 0x%x\n", hlid);
260  entry = NULL;
261  }
262 
263  return entry ? LIST_ENTRY(entry, struct link_entry, entry) : NULL;
264 }
struct list links
Definition: browse_ctx.c:40
__WINE_SERVER_LIST_INLINE struct list * list_prev(const struct list *list, const struct list *elem)
Definition: list.h:123
#define WARN(fmt,...)
Definition: debug.h:112
__WINE_SERVER_LIST_INLINE struct list * list_tail(const struct list *list)
Definition: list.h:137
__WINE_SERVER_LIST_INLINE struct list * list_head(const struct list *list)
Definition: list.h:131
smooth NULL
Definition: ftsmooth.c:416
struct link_entry * current
Definition: browse_ctx.c:39
uint32_t entry
Definition: isohybrid.c:63
Definition: _list.h:228
Definition: browse_ctx.c:28
__WINE_SERVER_LIST_INLINE struct list * list_next(const struct list *list, const struct list *elem)
Definition: list.h:115
#define LIST_ENTRY(type)
Definition: queue.h:175

Referenced by IHlinkBC_GetHlink(), IHlinkBC_SetCurrentHlink(), and IHlinkBC_UpdateHlink().

◆ HLinkBrowseContext_Constructor()

HRESULT HLinkBrowseContext_Constructor ( IUnknown pUnkOuter,
REFIID  riid,
void **  ppv 
)

Definition at line 370 of file browse_ctx.c.

371 {
372  HlinkBCImpl * hl;
373 
374  TRACE("unkOut=%p riid=%s\n", pUnkOuter, debugstr_guid(riid));
375  *ppv = NULL;
376 
377  if (pUnkOuter)
378  return CLASS_E_NOAGGREGATION;
379 
380  hl = heap_alloc_zero(sizeof(HlinkBCImpl));
381  if (!hl)
382  return E_OUTOFMEMORY;
383 
384  hl->ref = 1;
385  hl->IHlinkBrowseContext_iface.lpVtbl = &hlvt;
386  list_init(&hl->links);
387  hl->current = NULL;
388 
389  *ppv = hl;
390  return S_OK;
391 }
struct list links
Definition: browse_ctx.c:40
REFIID riid
Definition: precomp.h:44
REFIID LPVOID * ppv
Definition: atlbase.h:39
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
smooth NULL
Definition: ftsmooth.c:416
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
struct link_entry * current
Definition: browse_ctx.c:39
IHlinkBrowseContext IHlinkBrowseContext_iface
Definition: browse_ctx.c:36
#define CLASS_E_NOAGGREGATION
Definition: winerror.h:2662
#define S_OK
Definition: intsafe.h:51
__WINE_SERVER_LIST_INLINE void list_init(struct list *list)
Definition: list.h:149

◆ IHlinkBC_Clone()

static HRESULT WINAPI IHlinkBC_Clone ( IHlinkBrowseContext iface,
IUnknown piunkOuter,
REFIID  riid,
IUnknown **  ppiunkOjb 
)
static

Definition at line 335 of file browse_ctx.c.

337 {
338  FIXME("\n");
339  return E_NOTIMPL;
340 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ IHlinkBC_Close()

static HRESULT WINAPI IHlinkBC_Close ( IHlinkBrowseContext iface,
DWORD  reserved 
)
static

Definition at line 342 of file browse_ctx.c.

344 {
345  FIXME("\n");
346  return E_NOTIMPL;
347 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ IHlinkBC_EnumNavigationStack()

static HRESULT WINAPI IHlinkBC_EnumNavigationStack ( IHlinkBrowseContext iface,
DWORD  dwReserved,
DWORD  grfHLFNAMEF,
IEnumHLITEM **  ppienumhlitem 
)
static

Definition at line 289 of file browse_ctx.c.

291 {
292  FIXME("\n");
293  return E_NOTIMPL;
294 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ IHlinkBC_fnAddRef()

static ULONG WINAPI IHlinkBC_fnAddRef ( IHlinkBrowseContext iface)
static

Definition at line 66 of file browse_ctx.c.

67 {
69  ULONG refCount = InterlockedIncrement(&This->ref);
70 
71  TRACE("(%p)->(count=%u)\n", This, refCount - 1);
72 
73  return refCount;
74 }
#define TRACE(s)
Definition: solgame.cpp:4
#define InterlockedIncrement
Definition: armddk.h:53
unsigned int ULONG
Definition: retypes.h:1

◆ IHlinkBC_fnQueryInterface()

static HRESULT WINAPI IHlinkBC_fnQueryInterface ( IHlinkBrowseContext iface,
REFIID  riid,
LPVOID ppvObj 
)
static

Definition at line 48 of file browse_ctx.c.

50 {
52  TRACE ("(%p)->(%s,%p)\n", This, debugstr_guid (riid), ppvObj);
53 
54  if (IsEqualIID(riid, &IID_IUnknown) ||
55  IsEqualIID(riid, &IID_IHlinkBrowseContext))
56  *ppvObj = This;
57 
58  if (*ppvObj)
59  {
60  IUnknown_AddRef((IUnknown*)(*ppvObj));
61  return S_OK;
62  }
63  return E_NOINTERFACE;
64 }
#define E_NOINTERFACE
Definition: winerror.h:2364
REFIID riid
Definition: precomp.h:44
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
const GUID IID_IUnknown
#define S_OK
Definition: intsafe.h:51
#define IsEqualIID(riid1, riid2)
Definition: guiddef.h:95

◆ IHlinkBC_fnRelease()

static ULONG WINAPI IHlinkBC_fnRelease ( IHlinkBrowseContext iface)
static

Definition at line 76 of file browse_ctx.c.

77 {
80 
81  TRACE("(%p)->(count=%u)\n", This, ref + 1);
82 
83  if (!ref)
84  {
85  struct link_entry *link, *link2;
86 
87  LIST_FOR_EACH_ENTRY_SAFE(link, link2, &This->links, struct link_entry, entry)
88  {
89  list_remove(&link->entry);
90  IHlink_Release(link->link);
91  heap_free(link);
92  }
93 
94  heap_free(This->BrowseWindowInfo);
95  heap_free(This);
96  }
97 
98  return ref;
99 }
Definition: send.c:48
GLenum GLint ref
Definition: glext.h:6028
__WINE_SERVER_LIST_INLINE void list_remove(struct list *elem)
Definition: list.h:108
#define TRACE(s)
Definition: solgame.cpp:4
#define InterlockedDecrement
Definition: armddk.h:52
uint32_t entry
Definition: isohybrid.c:63
#define LIST_FOR_EACH_ENTRY_SAFE(cursor, cursor2, list, type, field)
Definition: list.h:204
Definition: browse_ctx.c:28
unsigned int ULONG
Definition: retypes.h:1
const WCHAR * link
Definition: db.cpp:989
static BOOL heap_free(void *mem)
Definition: appwiz.h:75

◆ IHlinkBC_GetBrowseWindowInfo()

static HRESULT WINAPI IHlinkBC_GetBrowseWindowInfo ( IHlinkBrowseContext iface,
HLBWINFO *  phlbwi 
)
static

Definition at line 186 of file browse_ctx.c.

188 {
190  TRACE("(%p)->(%p)\n", This, phlbwi);
191 
192  if(!phlbwi)
193  return E_INVALIDARG;
194 
195  if(!This->BrowseWindowInfo)
196  phlbwi->cbSize = 0;
197  else
198  memcpy(phlbwi, This->BrowseWindowInfo, This->BrowseWindowInfo->cbSize);
199 
200  return S_OK;
201 }
#define E_INVALIDARG
Definition: ddrawi.h:101
#define TRACE(s)
Definition: solgame.cpp:4
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
#define S_OK
Definition: intsafe.h:51

◆ IHlinkBC_GetHlink()

static HRESULT WINAPI IHlinkBC_GetHlink ( IHlinkBrowseContext iface,
ULONG  hlid,
IHlink **  ret 
)
static

Definition at line 303 of file browse_ctx.c.

304 {
306  struct link_entry *link;
307 
308  TRACE("(%p)->(0x%x %p)\n", This, hlid, ret);
309 
310  link = context_get_entry(This, hlid);
311  if (!link)
312  return E_FAIL;
313 
314  *ret = link->link;
315  IHlink_AddRef(*ret);
316 
317  return S_OK;
318 }
#define E_FAIL
Definition: ddrawi.h:102
#define TRACE(s)
Definition: solgame.cpp:4
int ret
#define S_OK
Definition: intsafe.h:51
Definition: browse_ctx.c:28
const WCHAR * link
Definition: db.cpp:989

◆ IHlinkBC_GetObject()

static HRESULT WINAPI IHlinkBC_GetObject ( IHlinkBrowseContext iface,
IMoniker pimk,
BOOL  fBindifRootRegistered,
IUnknown **  ppiunk 
)
static

Definition at line 129 of file browse_ctx.c.

131 {
133  IMoniker *mon;
134  IMoniker *composite;
135  IRunningObjectTable *ROT;
136  HRESULT hr;
137 
138  TRACE("(%p)->(%p, %d, %p)\n", This, pimk, fBindifRootRegistered, ppiunk);
139 
140  hr = CreateItemMoniker(NULL, szIdent, &mon);
141  if (FAILED(hr)) return hr;
142  CreateGenericComposite(mon, pimk, &composite);
143 
144  GetRunningObjectTable(0, &ROT);
145  hr = IRunningObjectTable_GetObject(ROT, composite, ppiunk);
146 
147  IRunningObjectTable_Release(ROT);
148  IMoniker_Release(composite);
149  IMoniker_Release(mon);
150 
151  return hr;
152 }
HRESULT hr
Definition: shlfolder.c:183
HRESULT WINAPI CreateItemMoniker(LPCOLESTR lpszDelim, LPCOLESTR lpszItem, IMoniker **ppmk)
Definition: itemmoniker.c:935
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:79
HRESULT WINAPI GetRunningObjectTable(DWORD reserved, LPRUNNINGOBJECTTABLE *pprot)
Definition: moniker.c:1035
HRESULT WINAPI CreateGenericComposite(IMoniker *pmkFirst, IMoniker *pmkRest, IMoniker **ppmkComposite)

◆ IHlinkBC_OnNavigateHlink()

static HRESULT WINAPI IHlinkBC_OnNavigateHlink ( IHlinkBrowseContext iface,
DWORD  grfHLNF,
IMoniker pmkTarget,
LPCWSTR  pwzLocation,
LPCWSTR  pwzFriendlyName,
ULONG puHLID 
)
static

Definition at line 225 of file browse_ctx.c.

228 {
230 
231  FIXME("(%p)->(%i %p %s %s %p)\n", This, grfHLNF, pmkTarget,
232  debugstr_w(pwzLocation), debugstr_w(pwzFriendlyName), puHLID);
233 
234  return S_OK;
235 }
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:111
#define S_OK
Definition: intsafe.h:51

◆ IHlinkBC_QueryHlink()

static HRESULT WINAPI IHlinkBC_QueryHlink ( IHlinkBrowseContext iface,
DWORD  grfHLONG,
ULONG  uHLID 
)
static

Definition at line 296 of file browse_ctx.c.

298 {
299  FIXME("\n");
300  return E_NOTIMPL;
301 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ IHlinkBC_Register()

static HRESULT WINAPI IHlinkBC_Register ( IHlinkBrowseContext iface,
DWORD  dwReserved,
IUnknown piunk,
IMoniker pimk,
DWORD pdwRegister 
)
static

Definition at line 103 of file browse_ctx.c.

105 {
107  IMoniker *mon;
108  IMoniker *composite;
109  IRunningObjectTable *ROT;
110  HRESULT hr;
111 
112  FIXME("(%p)->(%i %p %p %p)\n", This, dwReserved, piunk, pimk, pdwRegister);
113 
114  hr = CreateItemMoniker(NULL, szIdent, &mon);
115  if (FAILED(hr))
116  return hr;
117  CreateGenericComposite(mon, pimk, &composite);
118 
119  GetRunningObjectTable(0, &ROT);
120  IRunningObjectTable_Register(ROT, 0, piunk, composite, pdwRegister);
121 
122  IRunningObjectTable_Release(ROT);
123  IMoniker_Release(composite);
124  IMoniker_Release(mon);
125 
126  return S_OK;
127 }
HRESULT hr
Definition: shlfolder.c:183
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
Definition: mswsock.h:90
#define FIXME(fmt,...)
Definition: debug.h:111
HRESULT WINAPI CreateItemMoniker(LPCOLESTR lpszDelim, LPCOLESTR lpszItem, IMoniker **ppmk)
Definition: itemmoniker.c:935
smooth NULL
Definition: ftsmooth.c:416
LONG HRESULT
Definition: typedefs.h:79
#define S_OK
Definition: intsafe.h:51
HRESULT WINAPI GetRunningObjectTable(DWORD reserved, LPRUNNINGOBJECTTABLE *pprot)
Definition: moniker.c:1035
HRESULT WINAPI CreateGenericComposite(IMoniker *pmkFirst, IMoniker *pmkRest, IMoniker **ppmkComposite)

◆ IHlinkBC_Revoke()

static HRESULT WINAPI IHlinkBC_Revoke ( IHlinkBrowseContext iface,
DWORD  dwRegister 
)
static

Definition at line 154 of file browse_ctx.c.

156 {
157  HRESULT r;
158  IRunningObjectTable *ROT;
160 
161  FIXME("(%p)->(%i)\n", This, dwRegister);
162 
163  GetRunningObjectTable(0, &ROT);
164  r = IRunningObjectTable_Revoke(ROT, dwRegister);
165  IRunningObjectTable_Release(ROT);
166 
167  return r;
168 }
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
#define FIXME(fmt,...)
Definition: debug.h:111
LONG HRESULT
Definition: typedefs.h:79
HRESULT WINAPI GetRunningObjectTable(DWORD reserved, LPRUNNINGOBJECTTABLE *pprot)
Definition: moniker.c:1035

◆ IHlinkBC_SetBrowseWindowInfo()

static HRESULT WINAPI IHlinkBC_SetBrowseWindowInfo ( IHlinkBrowseContext iface,
HLBWINFO *  phlbwi 
)
static

Definition at line 170 of file browse_ctx.c.

172 {
174  TRACE("(%p)->(%p)\n", This, phlbwi);
175 
176  if(!phlbwi)
177  return E_INVALIDARG;
178 
179  heap_free(This->BrowseWindowInfo);
180  This->BrowseWindowInfo = heap_alloc(phlbwi->cbSize);
181  memcpy(This->BrowseWindowInfo, phlbwi, phlbwi->cbSize);
182 
183  return S_OK;
184 }
static void * heap_alloc(size_t len)
Definition: appwiz.h:65
#define E_INVALIDARG
Definition: ddrawi.h:101
#define TRACE(s)
Definition: solgame.cpp:4
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
#define S_OK
Definition: intsafe.h:51
static BOOL heap_free(void *mem)
Definition: appwiz.h:75

◆ IHlinkBC_SetCurrentHlink()

static HRESULT WINAPI IHlinkBC_SetCurrentHlink ( IHlinkBrowseContext iface,
ULONG  hlid 
)
static

Definition at line 320 of file browse_ctx.c.

321 {
323  struct link_entry *link;
324 
325  TRACE("(%p)->(0x%08x)\n", This, hlid);
326 
327  link = context_get_entry(This, hlid);
328  if (!link)
329  return E_FAIL;
330 
331  This->current = link;
332  return S_OK;
333 }
#define E_FAIL
Definition: ddrawi.h:102
#define TRACE(s)
Definition: solgame.cpp:4
#define S_OK
Definition: intsafe.h:51
Definition: browse_ctx.c:28
const WCHAR * link
Definition: db.cpp:989

◆ IHlinkBC_SetInitialHlink()

static HRESULT WINAPI IHlinkBC_SetInitialHlink ( IHlinkBrowseContext iface,
IMoniker pimkTarget,
LPCWSTR  pwzLocation,
LPCWSTR  pwzFriendlyName 
)
static

Definition at line 203 of file browse_ctx.c.

205 {
207  struct link_entry *link;
208 
209  TRACE("(%p)->(%p %s %s)\n", This, pimkTarget, debugstr_w(pwzLocation), debugstr_w(pwzFriendlyName));
210 
211  if (!list_empty(&This->links))
213 
214  link = heap_alloc(sizeof(struct link_entry));
215  if (!link) return E_OUTOFMEMORY;
216 
217  HlinkCreateFromMoniker(pimkTarget, pwzLocation, pwzFriendlyName, NULL,
218  0, NULL, &IID_IHlink, (void**)&link->link);
219 
220  list_add_head(&This->links, &link->entry);
221  This->current = LIST_ENTRY(list_head(&This->links), struct link_entry, entry);
222  return S_OK;
223 }
__WINE_SERVER_LIST_INLINE void list_add_head(struct list *list, struct list *elem)
Definition: list.h:96
static void * heap_alloc(size_t len)
Definition: appwiz.h:65
__WINE_SERVER_LIST_INLINE struct list * list_head(const struct list *list)
Definition: list.h:131
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
#define debugstr_w
Definition: kernel32.h:32
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
#define CO_E_ALREADYINITIALIZED
Definition: winerror.h:2804
uint32_t entry
Definition: isohybrid.c:63
__WINE_SERVER_LIST_INLINE int list_empty(const struct list *list)
Definition: list.h:143
#define S_OK
Definition: intsafe.h:51
Definition: browse_ctx.c:28
const WCHAR * link
Definition: db.cpp:989
#define LIST_ENTRY(type)
Definition: queue.h:175

◆ IHlinkBC_UpdateHlink()

static HRESULT WINAPI IHlinkBC_UpdateHlink ( IHlinkBrowseContext iface,
ULONG  hlid,
IMoniker target,
LPCWSTR  location,
LPCWSTR  friendly_name 
)
static

Definition at line 266 of file browse_ctx.c.

268 {
270  struct link_entry *entry = context_get_entry(This, hlid);
271  IHlink *link;
272  HRESULT hr;
273 
274  TRACE("(%p)->(0x%x %p %s %s)\n", This, hlid, target, debugstr_w(location), debugstr_w(friendly_name));
275 
276  if (!entry)
277  return E_INVALIDARG;
278 
279  hr = HlinkCreateFromMoniker(target, location, friendly_name, NULL, 0, NULL, &IID_IHlink, (void**)&link);
280  if (FAILED(hr))
281  return hr;
282 
283  IHlink_Release(entry->link);
284  entry->link = link;
285 
286  return S_OK;
287 }
HRESULT hr
Definition: shlfolder.c:183
#define debugstr_w
Definition: kernel32.h:32
#define E_INVALIDARG
Definition: ddrawi.h:101
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:79
uint32_t entry
Definition: isohybrid.c:63
#define S_OK
Definition: intsafe.h:51
static const WCHAR friendly_name[]
Definition: devenum.c:40
Definition: browse_ctx.c:28
GLenum target
Definition: glext.h:7315
const WCHAR * link
Definition: db.cpp:989

◆ impl_from_IHlinkBrowseContext()

static HlinkBCImpl* impl_from_IHlinkBrowseContext ( IHlinkBrowseContext iface)
inlinestatic

Definition at line 43 of file browse_ctx.c.

44 {
45  return CONTAINING_RECORD(iface, HlinkBCImpl, IHlinkBrowseContext_iface);
46 }
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

Referenced by IHlinkBC_fnAddRef(), IHlinkBC_fnQueryInterface(), IHlinkBC_fnRelease(), IHlinkBC_GetBrowseWindowInfo(), IHlinkBC_GetHlink(), IHlinkBC_GetObject(), IHlinkBC_OnNavigateHlink(), IHlinkBC_Register(), IHlinkBC_Revoke(), IHlinkBC_SetBrowseWindowInfo(), IHlinkBC_SetCurrentHlink(), IHlinkBC_SetInitialHlink(), and IHlinkBC_UpdateHlink().

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( hlink  )

Variable Documentation

◆ hlvt

const IHlinkBrowseContextVtbl hlvt
static
Initial value:
=
{
}

Definition at line 349 of file browse_ctx.c.

Referenced by HLinkBrowseContext_Constructor().

◆ szIdent

const WCHAR szIdent[] = {'W','I','N','E','H','L','I','N','K',0}
static

Definition at line 101 of file browse_ctx.c.

Referenced by IHlinkBC_GetObject(), and IHlinkBC_Register().