ReactOS 0.4.17-dev-1190-g4c812f4
shellbrowser.c File Reference
#include <assert.h>
#include "ieframe.h"
#include "exdispid.h"
#include "shlwapi.h"
#include "wine/debug.h"
Include dependency graph for shellbrowser.c:

Go to the source code of this file.

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (ieframe)
 
const WCHAR * error_url_frag (const WCHAR *url)
 
static ShellBrowser * impl_from_IShellBrowser (IShellBrowser *iface)
 
static HRESULT WINAPI ShellBrowser_QueryInterface (IShellBrowser *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI ShellBrowser_AddRef (IShellBrowser *iface)
 
static ULONG WINAPI ShellBrowser_Release (IShellBrowser *iface)
 
static HRESULT WINAPI ShellBrowser_GetWindow (IShellBrowser *iface, HWND *phwnd)
 
static HRESULT WINAPI ShellBrowser_ContextSensitiveHelp (IShellBrowser *iface, BOOL fEnterMode)
 
static HRESULT WINAPI ShellBrowser_InsertMenusSB (IShellBrowser *iface, HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths)
 
static HRESULT WINAPI ShellBrowser_SetMenuSB (IShellBrowser *iface, HMENU hmenuShared, HOLEMENU holemenuReserved, HWND hwndActiveObject)
 
static HRESULT WINAPI ShellBrowser_RemoveMenusSB (IShellBrowser *iface, HMENU hmenuShared)
 
static HRESULT WINAPI ShellBrowser_SetStatusTextSB (IShellBrowser *iface, LPCOLESTR pszStatusText)
 
static HRESULT WINAPI ShellBrowser_EnableModelessSB (IShellBrowser *iface, BOOL fEnable)
 
static HRESULT WINAPI ShellBrowser_TranslateAcceleratorSB (IShellBrowser *iface, MSG *pmsg, WORD wID)
 
static HRESULT WINAPI ShellBrowser_BrowseObject (IShellBrowser *iface, LPCITEMIDLIST pidl, UINT wFlags)
 
static HRESULT WINAPI ShellBrowser_GetViewStateStream (IShellBrowser *iface, DWORD grfMode, IStream **ppStrm)
 
static HRESULT WINAPI ShellBrowser_GetControlWindow (IShellBrowser *iface, UINT id, HWND *phwnd)
 
static HRESULT WINAPI ShellBrowser_SendControlMsg (IShellBrowser *iface, UINT id, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *pret)
 
static HRESULT WINAPI ShellBrowser_QueryActiveShellView (IShellBrowser *iface, IShellView **ppshv)
 
static HRESULT WINAPI ShellBrowser_OnViewWindowActive (IShellBrowser *iface, IShellView *pshv)
 
static HRESULT WINAPI ShellBrowser_SetToolbarItems (IShellBrowser *iface, LPTBBUTTONSB lpButtons, UINT nButtons, UINT uFlags)
 
static ShellBrowser * impl_from_IBrowserService (IBrowserService *iface)
 
static HRESULT WINAPI BrowserService_QueryInterface (IBrowserService *iface, REFIID riid, void **ppvObject)
 
static ULONG WINAPI BrowserService_AddRef (IBrowserService *iface)
 
static ULONG WINAPI BrowserService_Release (IBrowserService *iface)
 
static HRESULT WINAPI BrowserService_GetParentSite (IBrowserService *iface, IOleInPlaceSite **ppipsite)
 
static HRESULT WINAPI BrowserService_SetTitle (IBrowserService *iface, IShellView *psv, LPCWSTR pszName)
 
static HRESULT WINAPI BrowserService_GetTitle (IBrowserService *iface, IShellView *psv, LPWSTR pszName, DWORD cchName)
 
static HRESULT WINAPI BrowserService_GetOleObject (IBrowserService *iface, IOleObject **ppobjv)
 
static HRESULT WINAPI BrowserService_GetTravelLog (IBrowserService *iface, ITravelLog **pptl)
 
static HRESULT WINAPI BrowserService_ShowControlWindow (IBrowserService *iface, UINT id, BOOL fShow)
 
static HRESULT WINAPI BrowserService_IsControlWindowShown (IBrowserService *iface, UINT id, BOOL *pfShown)
 
static HRESULT WINAPI BrowserService_IEGetDisplayName (IBrowserService *iface, PCIDLIST_ABSOLUTE pidl, LPWSTR pwszName, UINT uFlags)
 
static HRESULT WINAPI BrowserService_IEParseDisplayName (IBrowserService *iface, UINT uiCP, LPCWSTR pwszPath, PIDLIST_ABSOLUTE *ppidlOut)
 
static HRESULT WINAPI BrowserService_DisplayParseError (IBrowserService *iface, HRESULT hres, LPCWSTR pwszPath)
 
static HRESULT WINAPI BrowserService_NavigateToPidl (IBrowserService *iface, PCIDLIST_ABSOLUTE pidl, DWORD grfHLNF)
 
static HRESULT WINAPI BrowserService_SetNavigateState (IBrowserService *iface, BNSTATE bnstate)
 
static HRESULT WINAPI BrowserService_GetNavigateState (IBrowserService *iface, BNSTATE *pbnstate)
 
static HRESULT WINAPI BrowserService_NotifyRedirect (IBrowserService *iface, IShellView *psv, PCIDLIST_ABSOLUTE pidl, BOOL *pfDidBrowse)
 
static HRESULT WINAPI BrowserService_UpdateWindowList (IBrowserService *iface)
 
static HRESULT WINAPI BrowserService_UpdateBackForwardState (IBrowserService *iface)
 
static HRESULT WINAPI BrowserService_SetFlags (IBrowserService *iface, DWORD dwFlags, DWORD dwFlagMask)
 
static HRESULT WINAPI BrowserService_GetFlags (IBrowserService *iface, DWORD *pdwFlags)
 
static HRESULT WINAPI BrowserService_CanNavigateNow (IBrowserService *iface)
 
static HRESULT WINAPI BrowserService_GetPidl (IBrowserService *iface, PIDLIST_ABSOLUTE *ppidl)
 
static HRESULT WINAPI BrowserService_SetReferrer (IBrowserService *iface, PCIDLIST_ABSOLUTE pidl)
 
static DWORD WINAPI BrowserService_GetBrowserIndex (IBrowserService *iface)
 
static HRESULT WINAPI BrowserService_GetBrowserByIndex (IBrowserService *iface, DWORD dwID, IUnknown **ppunk)
 
static HRESULT WINAPI BrowserService_GetHistoryObject (IBrowserService *iface, IOleObject **ppole, IStream **pstm, IBindCtx **ppbc)
 
static HRESULT WINAPI BrowserService_SetHistoryObject (IBrowserService *iface, IOleObject *pole, BOOL fIsLocalAnchor)
 
static HRESULT WINAPI BrowserService_CacheOLEServer (IBrowserService *iface, IOleObject *pole)
 
static HRESULT WINAPI BrowserService_GetSetCodePage (IBrowserService *iface, VARIANT *pvarIn, VARIANT *pvarOut)
 
static HRESULT WINAPI BrowserService_OnHttpEquiv (IBrowserService *iface, IShellView *psv, BOOL fDone, VARIANT *pvarargIn, VARIANT *pvarargOut)
 
static HRESULT WINAPI BrowserService_GetPalette (IBrowserService *iface, HPALETTE *hpal)
 
static HRESULT WINAPI BrowserService_RegisterWindow (IBrowserService *iface, BOOL fForceRegister, int swc)
 
static ShellBrowser * impl_from_IDocObjectService (IDocObjectService *iface)
 
static HRESULT WINAPI DocObjectService_QueryInterface (IDocObjectService *iface, REFIID riid, void **ppvObject)
 
static ULONG WINAPI DocObjectService_AddRef (IDocObjectService *iface)
 
static ULONG WINAPI DocObjectService_Release (IDocObjectService *iface)
 
static HRESULT WINAPI DocObjectService_FireBeforeNavigate2 (IDocObjectService *iface, IDispatch *pDispatch, LPCWSTR lpszUrl, DWORD dwFlags, LPCWSTR lpszFrameName, BYTE *pPostData, DWORD cbPostData, LPCWSTR lpszHeaders, BOOL fPlayNavSound, BOOL *pfCancel)
 
static HRESULT WINAPI DocObjectService_FireNavigateComplete2 (IDocObjectService *iface, IHTMLWindow2 *pHTMLWindow2, DWORD dwFlags)
 
static HRESULT WINAPI DocObjectService_FireDownloadBegin (IDocObjectService *iface)
 
static HRESULT WINAPI DocObjectService_FireDownloadComplete (IDocObjectService *iface)
 
static HRESULT WINAPI DocObjectService_FireDocumentComplete (IDocObjectService *iface, IHTMLWindow2 *pHTMLWindow, DWORD dwFlags)
 
static HRESULT WINAPI DocObjectService_UpdateDesktopComponent (IDocObjectService *iface, IHTMLWindow2 *pHTMLWindow)
 
static HRESULT WINAPI DocObjectService_GetPendingUrl (IDocObjectService *iface, BSTR *pbstrPendingUrl)
 
static HRESULT WINAPI DocObjectService_ActiveElementChanged (IDocObjectService *iface, IHTMLElement *pHTMLElement)
 
static HRESULT WINAPI DocObjectService_GetUrlSearchComponent (IDocObjectService *iface, BSTR *pbstrSearch)
 
static HRESULT WINAPI DocObjectService_IsErrorUrl (IDocObjectService *iface, LPCWSTR lpszUrl, BOOL *pfIsError)
 
HRESULT create_browser_service (DocHost *doc_host, ShellBrowser **ret)
 
void detach_browser_service (ShellBrowser *sb)
 
static NewWindowManager * impl_from_INewWindowManager (INewWindowManager *iface)
 
static HRESULT WINAPI NewWindowManager_QueryInterface (INewWindowManager *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI NewWindowManager_AddRef (INewWindowManager *iface)
 
static ULONG WINAPI NewWindowManager_Release (INewWindowManager *iface)
 
static HRESULT WINAPI NewWindowManager_EvaluateNewWindow (INewWindowManager *iface, LPCWSTR pszUrl, LPCWSTR pszName, LPCWSTR pszUrlContext, LPCWSTR pszFeatures, BOOL fReplace, DWORD dwFlags, DWORD dwUserActionTime)
 
void NewWindowManager_Init (DocHost *doc_host)
 

Variables

static const IShellBrowserVtbl ShellBrowserVtbl
 
static const IBrowserServiceVtbl BrowserServiceVtbl
 
static const IDocObjectServiceVtbl DocObjectServiceVtbl
 
static const INewWindowManagerVtbl NewWindowManagerVtbl
 

Function Documentation

◆ BrowserService_AddRef()

static ULONG WINAPI BrowserService_AddRef ( IBrowserService *  iface)
static

Definition at line 293 of file shellbrowser.c.

295{
297 return IShellBrowser_AddRef(&This->IShellBrowser_iface);
298}
static ShellBrowser * impl_from_IBrowserService(IBrowserService *iface)
Definition: shellbrowser.c:279

◆ BrowserService_CacheOLEServer()

static HRESULT WINAPI BrowserService_CacheOLEServer ( IBrowserService *  iface,
IOleObject *  pole 
)
static

Definition at line 546 of file shellbrowser.c.

549{
551 FIXME("%p %p\n", This, pole);
552 return E_NOTIMPL;
553}
#define FIXME(fmt,...)
Definition: precomp.h:53
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ BrowserService_CanNavigateNow()

static HRESULT WINAPI BrowserService_CanNavigateNow ( IBrowserService *  iface)
static

Definition at line 481 of file shellbrowser.c.

483{
485 FIXME("%p\n", This);
486 return E_NOTIMPL;
487}

◆ BrowserService_DisplayParseError()

static HRESULT WINAPI BrowserService_DisplayParseError ( IBrowserService *  iface,
HRESULT  hres,
LPCWSTR  pwszPath 
)
static

Definition at line 397 of file shellbrowser.c.

401{
403 FIXME("%p %lx %s\n", This, hres, debugstr_w(pwszPath));
404 return E_NOTIMPL;
405}
#define debugstr_w
Definition: kernel32.h:32
HRESULT hres
Definition: protocol.c:432

◆ BrowserService_GetBrowserByIndex()

static HRESULT WINAPI BrowserService_GetBrowserByIndex ( IBrowserService *  iface,
DWORD  dwID,
IUnknown **  ppunk 
)
static

Definition at line 515 of file shellbrowser.c.

519{
521 FIXME("%p %lx %p\n", This, dwID, ppunk);
522 return E_NOTIMPL;
523}

◆ BrowserService_GetBrowserIndex()

static DWORD WINAPI BrowserService_GetBrowserIndex ( IBrowserService *  iface)
static

Definition at line 507 of file shellbrowser.c.

509{
511 FIXME("%p\n", This);
512 return E_NOTIMPL;
513}

◆ BrowserService_GetFlags()

static HRESULT WINAPI BrowserService_GetFlags ( IBrowserService *  iface,
DWORD *  pdwFlags 
)
static

Definition at line 472 of file shellbrowser.c.

475{
477 FIXME("%p %p\n", This, pdwFlags);
478 return E_NOTIMPL;
479}

◆ BrowserService_GetHistoryObject()

static HRESULT WINAPI BrowserService_GetHistoryObject ( IBrowserService *  iface,
IOleObject **  ppole,
IStream **  pstm,
IBindCtx **  ppbc 
)
static

Definition at line 525 of file shellbrowser.c.

530{
532 FIXME("%p %p %p %p\n", This, ppole, pstm, ppbc);
533 return E_NOTIMPL;
534}

◆ BrowserService_GetNavigateState()

static HRESULT WINAPI BrowserService_GetNavigateState ( IBrowserService *  iface,
BNSTATE *  pbnstate 
)
static

Definition at line 426 of file shellbrowser.c.

429{
431 FIXME("%p %p\n", This, pbnstate);
432 return E_NOTIMPL;
433}

◆ BrowserService_GetOleObject()

static HRESULT WINAPI BrowserService_GetOleObject ( IBrowserService *  iface,
IOleObject **  ppobjv 
)
static

Definition at line 337 of file shellbrowser.c.

340{
342 FIXME("%p %p\n", This, ppobjv);
343 return E_NOTIMPL;
344}

◆ BrowserService_GetPalette()

static HRESULT WINAPI BrowserService_GetPalette ( IBrowserService *  iface,
HPALETTE *  hpal 
)
static

Definition at line 577 of file shellbrowser.c.

580{
582 FIXME("%p %p\n", This, hpal);
583 return E_NOTIMPL;
584}

◆ BrowserService_GetParentSite()

static HRESULT WINAPI BrowserService_GetParentSite ( IBrowserService *  iface,
IOleInPlaceSite **  ppipsite 
)
static

Definition at line 307 of file shellbrowser.c.

310{
312 FIXME("%p %p\n", This, ppipsite);
313 return E_NOTIMPL;
314}

◆ BrowserService_GetPidl()

static HRESULT WINAPI BrowserService_GetPidl ( IBrowserService *  iface,
PIDLIST_ABSOLUTE *  ppidl 
)
static

Definition at line 489 of file shellbrowser.c.

492{
494 FIXME("%p %p\n", This, ppidl);
495 return E_NOTIMPL;
496}

◆ BrowserService_GetSetCodePage()

static HRESULT WINAPI BrowserService_GetSetCodePage ( IBrowserService *  iface,
VARIANT *  pvarIn,
VARIANT *  pvarOut 
)
static

Definition at line 555 of file shellbrowser.c.

559{
561 FIXME("%p %s %p\n", This, debugstr_variant(pvarIn), pvarOut);
562 return E_NOTIMPL;
563}
static const char * debugstr_variant(const VARIANT *var)
Definition: dom.c:505

◆ BrowserService_GetTitle()

static HRESULT WINAPI BrowserService_GetTitle ( IBrowserService *  iface,
IShellView *  psv,
LPWSTR  pszName,
DWORD  cchName 
)
static

Definition at line 326 of file shellbrowser.c.

331{
333 FIXME("%p %p %p %ld\n", This, psv, pszName, cchName);
334 return E_NOTIMPL;
335}
_In_ PSID _Out_writes_to_opt_ cchName LPSTR _Inout_ LPDWORD cchName
Definition: winbase.h:2497

◆ BrowserService_GetTravelLog()

static HRESULT WINAPI BrowserService_GetTravelLog ( IBrowserService *  iface,
ITravelLog **  pptl 
)
static

Definition at line 346 of file shellbrowser.c.

349{
351 FIXME("%p %p\n", This, pptl);
352 return E_NOTIMPL;
353}
_In_ POINTL * pptl
Definition: winddi.h:3741

◆ BrowserService_IEGetDisplayName()

static HRESULT WINAPI BrowserService_IEGetDisplayName ( IBrowserService *  iface,
PCIDLIST_ABSOLUTE  pidl,
LPWSTR  pwszName,
UINT  uFlags 
)
static

Definition at line 375 of file shellbrowser.c.

380{
382 FIXME("%p %p %p %u\n", This, pidl, pwszName, uFlags);
383 return E_NOTIMPL;
384}
UINT uFlags
Definition: api.c:59

◆ BrowserService_IEParseDisplayName()

static HRESULT WINAPI BrowserService_IEParseDisplayName ( IBrowserService *  iface,
UINT  uiCP,
LPCWSTR  pwszPath,
PIDLIST_ABSOLUTE *  ppidlOut 
)
static

Definition at line 386 of file shellbrowser.c.

391{
393 FIXME("%p %u %s %p\n", This, uiCP, debugstr_w(pwszPath), ppidlOut);
394 return E_NOTIMPL;
395}

◆ BrowserService_IsControlWindowShown()

static HRESULT WINAPI BrowserService_IsControlWindowShown ( IBrowserService *  iface,
UINT  id,
BOOL *  pfShown 
)
static

Definition at line 365 of file shellbrowser.c.

369{
371 FIXME("%p %u %p\n", This, id, pfShown);
372 return E_NOTIMPL;
373}

◆ BrowserService_NavigateToPidl()

static HRESULT WINAPI BrowserService_NavigateToPidl ( IBrowserService *  iface,
PCIDLIST_ABSOLUTE  pidl,
DWORD  grfHLNF 
)
static

Definition at line 407 of file shellbrowser.c.

411{
413 FIXME("%p %p %ld\n", This, pidl, grfHLNF);
414 return E_NOTIMPL;
415}

◆ BrowserService_NotifyRedirect()

static HRESULT WINAPI BrowserService_NotifyRedirect ( IBrowserService *  iface,
IShellView *  psv,
PCIDLIST_ABSOLUTE  pidl,
BOOL *  pfDidBrowse 
)
static

Definition at line 435 of file shellbrowser.c.

440{
442 FIXME("%p %p %p %p\n", This, psv, pidl, pfDidBrowse);
443 return E_NOTIMPL;
444}

◆ BrowserService_OnHttpEquiv()

static HRESULT WINAPI BrowserService_OnHttpEquiv ( IBrowserService *  iface,
IShellView *  psv,
BOOL  fDone,
VARIANT *  pvarargIn,
VARIANT *  pvarargOut 
)
static

Definition at line 565 of file shellbrowser.c.

571{
573 FIXME("%p %p %d %s %p\n", This, psv, fDone, debugstr_variant(pvarargIn), pvarargOut);
574 return E_NOTIMPL;
575}

◆ BrowserService_QueryInterface()

static HRESULT WINAPI BrowserService_QueryInterface ( IBrowserService *  iface,
REFIID  riid,
void **  ppvObject 
)
static

Definition at line 284 of file shellbrowser.c.

288{
290 return IShellBrowser_QueryInterface(&This->IShellBrowser_iface, riid, ppvObject);
291}
REFIID riid
Definition: atlbase.h:39

◆ BrowserService_RegisterWindow()

static HRESULT WINAPI BrowserService_RegisterWindow ( IBrowserService *  iface,
BOOL  fForceRegister,
int  swc 
)
static

Definition at line 586 of file shellbrowser.c.

590{
592 FIXME("%p %d %d\n", This, fForceRegister, swc);
593 return E_NOTIMPL;
594}

◆ BrowserService_Release()

static ULONG WINAPI BrowserService_Release ( IBrowserService *  iface)
static

Definition at line 300 of file shellbrowser.c.

302{
304 return IShellBrowser_Release(&This->IShellBrowser_iface);
305}

◆ BrowserService_SetFlags()

static HRESULT WINAPI BrowserService_SetFlags ( IBrowserService *  iface,
DWORD  dwFlags,
DWORD  dwFlagMask 
)
static

Definition at line 462 of file shellbrowser.c.

466{
468 FIXME("%p %lx %lx\n", This, dwFlags, dwFlagMask);
469 return E_NOTIMPL;
470}
_In_ LPWSTR _In_ DWORD _In_ DWORD _In_ DWORD dwFlags
Definition: netsh.h:141

◆ BrowserService_SetHistoryObject()

static HRESULT WINAPI BrowserService_SetHistoryObject ( IBrowserService *  iface,
IOleObject *  pole,
BOOL  fIsLocalAnchor 
)
static

Definition at line 536 of file shellbrowser.c.

540{
542 FIXME("%p %p %d\n", This, pole, fIsLocalAnchor);
543 return E_NOTIMPL;
544}

◆ BrowserService_SetNavigateState()

static HRESULT WINAPI BrowserService_SetNavigateState ( IBrowserService *  iface,
BNSTATE  bnstate 
)
static

Definition at line 417 of file shellbrowser.c.

420{
422 FIXME("%p %d\n", This, bnstate);
423 return E_NOTIMPL;
424}

◆ BrowserService_SetReferrer()

static HRESULT WINAPI BrowserService_SetReferrer ( IBrowserService *  iface,
PCIDLIST_ABSOLUTE  pidl 
)
static

Definition at line 498 of file shellbrowser.c.

501{
503 FIXME("%p %p\n", This, pidl);
504 return E_NOTIMPL;
505}

◆ BrowserService_SetTitle()

static HRESULT WINAPI BrowserService_SetTitle ( IBrowserService *  iface,
IShellView *  psv,
LPCWSTR  pszName 
)
static

Definition at line 316 of file shellbrowser.c.

320{
322 FIXME("%p %p %s\n", This, psv, debugstr_w(pszName));
323 return E_NOTIMPL;
324}

◆ BrowserService_ShowControlWindow()

static HRESULT WINAPI BrowserService_ShowControlWindow ( IBrowserService *  iface,
UINT  id,
BOOL  fShow 
)
static

Definition at line 355 of file shellbrowser.c.

359{
361 FIXME("%p %u %d\n", This, id, fShow);
362 return E_NOTIMPL;
363}

◆ BrowserService_UpdateBackForwardState()

static HRESULT WINAPI BrowserService_UpdateBackForwardState ( IBrowserService *  iface)
static

Definition at line 454 of file shellbrowser.c.

456{
458 FIXME("%p\n", This);
459 return E_NOTIMPL;
460}

◆ BrowserService_UpdateWindowList()

static HRESULT WINAPI BrowserService_UpdateWindowList ( IBrowserService *  iface)
static

Definition at line 446 of file shellbrowser.c.

448{
450 FIXME("%p\n", This);
451 return E_NOTIMPL;
452}

◆ create_browser_service()

HRESULT create_browser_service ( DocHost *  doc_host,
ShellBrowser **  ret 
)

Definition at line 956 of file shellbrowser.c.

957{
959
960 sb = malloc(sizeof(ShellBrowser));
961 if(!sb)
962 return E_OUTOFMEMORY;
963
964 sb->IShellBrowser_iface.lpVtbl = &ShellBrowserVtbl;
965 sb->IBrowserService_iface.lpVtbl = &BrowserServiceVtbl;
966 sb->IDocObjectService_iface.lpVtbl = &DocObjectServiceVtbl;
967
968 sb->ref = 1;
969 sb->doc_host = doc_host;
970
971 *ret = sb;
972 return S_OK;
973}
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
#define malloc
Definition: debug_ros.c:4
return ret
Definition: mutex.c:147
superblock * sb
Definition: btrfs.c:4261
#define S_OK
Definition: intsafe.h:52
static const IDocObjectServiceVtbl DocObjectServiceVtbl
Definition: shellbrowser.c:940
static const IShellBrowserVtbl ShellBrowserVtbl
Definition: shellbrowser.c:258
static const IBrowserServiceVtbl BrowserServiceVtbl
Definition: shellbrowser.c:596

Referenced by ClServiceProvider_QueryService().

◆ detach_browser_service()

void detach_browser_service ( ShellBrowser *  sb)

Definition at line 975 of file shellbrowser.c.

976{
977 sb->doc_host = NULL;
978 IShellBrowser_Release(&sb->IShellBrowser_iface);
979}
#define NULL
Definition: types.h:112

Referenced by DocHost_ClientSite_Release().

◆ DocObjectService_ActiveElementChanged()

static HRESULT WINAPI DocObjectService_ActiveElementChanged ( IDocObjectService *  iface,
IHTMLElement *  pHTMLElement 
)
static

Definition at line 909 of file shellbrowser.c.

912{
914 FIXME("%p %p\n", This, pHTMLElement);
915 return E_NOTIMPL;
916}
static ShellBrowser * impl_from_IDocObjectService(IDocObjectService *iface)
Definition: shellbrowser.c:632

◆ DocObjectService_AddRef()

static ULONG WINAPI DocObjectService_AddRef ( IDocObjectService *  iface)
static

Definition at line 646 of file shellbrowser.c.

648{
650 return IShellBrowser_AddRef(&This->IShellBrowser_iface);
651}

◆ DocObjectService_FireBeforeNavigate2()

static HRESULT WINAPI DocObjectService_FireBeforeNavigate2 ( IDocObjectService *  iface,
IDispatch *  pDispatch,
LPCWSTR  lpszUrl,
DWORD  dwFlags,
LPCWSTR  lpszFrameName,
BYTE *  pPostData,
DWORD  cbPostData,
LPCWSTR  lpszHeaders,
BOOL  fPlayNavSound,
BOOL *  pfCancel 
)
static

Definition at line 660 of file shellbrowser.c.

671{
673 VARIANT var_url, var_flags, var_frame_name, var_post_data, var_post_data2, var_headers;
675 DISPPARAMS dp = {params, NULL, 7, 0};
676 VARIANT_BOOL cancel = VARIANT_FALSE;
679 DWORD file_path_len = ARRAY_SIZE(file_path);
680
681 TRACE("%p %p %s %lx %s %p %ld %s %d %p\n", This, pDispatch, debugstr_w(lpszUrl),
682 dwFlags, debugstr_w(lpszFrameName), pPostData, cbPostData,
683 debugstr_w(lpszHeaders), fPlayNavSound, pfCancel);
684
685 if(cbPostData) {
686 post_data = SafeArrayCreateVector(VT_UI1, 0, cbPostData);
687 if(!post_data)
688 return E_OUTOFMEMORY;
689 memcpy(post_data->pvData, pPostData, cbPostData);
690 }else {
691 post_data = NULL;
692 }
693
695 V_BOOLREF(params) = &cancel;
696
698 V_VARIANTREF(params+1) = &var_headers;
699 V_VT(&var_headers) = VT_BSTR;
700 V_BSTR(&var_headers) = lpszHeaders ? SysAllocString(lpszHeaders) : NULL;
701
703 V_VARIANTREF(params+2) = &var_post_data2;
704 V_VT(&var_post_data2) = (VT_BYREF|VT_VARIANT);
705 V_VARIANTREF(&var_post_data2) = &var_post_data;
706
707 if(post_data) {
708 V_VT(&var_post_data) = VT_UI1|VT_ARRAY;
709 V_ARRAY(&var_post_data) = post_data;
710 }else {
711 V_VT(&var_post_data) = VT_EMPTY;
712 }
713
715 V_VARIANTREF(params+3) = &var_frame_name;
716 V_VT(&var_frame_name) = VT_BSTR;
717 V_BSTR(&var_frame_name) = lpszFrameName ? SysAllocString(lpszFrameName) : NULL;
718
720 V_VARIANTREF(params+4) = &var_flags;
721 V_VT(&var_flags) = VT_I4;
722 V_I4(&var_flags) = 0;
723
725 V_VARIANTREF(params+5) = &var_url;
726 V_VT(&var_url) = VT_BSTR;
727 if(PathCreateFromUrlW(lpszUrl, file_path, &file_path_len, 0) == S_OK)
728 V_BSTR(&var_url) = SysAllocString(file_path);
729 else
730 V_BSTR(&var_url) = SysAllocString(lpszUrl);
731
732 V_VT(params+6) = (VT_DISPATCH);
733 V_DISPATCH(params+6) = (IDispatch*)This->doc_host->wb;
734
735 /* Keep reference to This. It may be released in event handler. */
736 IShellBrowser_AddRef(&This->IShellBrowser_iface);
737
738 TRACE(">>>\n");
739 call_sink(This->doc_host->cps.wbe2, DISPID_BEFORENAVIGATE2, &dp);
740 TRACE("<<<\n");
741
742 IShellBrowser_Release(&This->IShellBrowser_iface);
743
744 SysFreeString(V_BSTR(&var_url));
745 SysFreeString(V_BSTR(&var_headers));
746 SysFreeString(V_BSTR(&var_frame_name));
748
749 *pfCancel = !!cancel;
750 return S_OK;
751}
#define ARRAY_SIZE(A)
Definition: main.h:20
#define MAX_PATH
Definition: compat.h:34
short VARIANT_BOOL
Definition: compat.h:2290
@ VT_BSTR
Definition: compat.h:2303
@ VT_BYREF
Definition: compat.h:2342
@ VT_ARRAY
Definition: compat.h:2341
@ VT_VARIANT
Definition: compat.h:2307
@ VT_I4
Definition: compat.h:2298
@ VT_BOOL
Definition: compat.h:2306
@ VT_EMPTY
Definition: compat.h:2295
@ VT_DISPATCH
Definition: compat.h:2304
@ VT_UI1
Definition: compat.h:2311
void call_sink(ConnectionPoint *This, DISPID dispid, DISPPARAMS *dispparams)
Definition: events.c:390
HRESULT WINAPI PathCreateFromUrlW(const WCHAR *url, WCHAR *path, DWORD *pcchPath, DWORD dwReserved)
Definition: path.c:3049
SAFEARRAY *WINAPI SafeArrayCreateVector(VARTYPE vt, LONG lLbound, ULONG cElements)
Definition: safearray.c:677
HRESULT WINAPI SafeArrayDestroy(SAFEARRAY *psa)
Definition: safearray.c:1347
#define DISPID_BEFORENAVIGATE2
Definition: exdispid.h:43
unsigned long DWORD
Definition: ntddk_ex.h:95
GLenum const GLfloat * params
Definition: glext.h:5645
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
static const CHAR post_data[]
Definition: protocol.c:222
struct stdole::DISPPARAMS DISPPARAMS
BSTR WINAPI SysAllocString(LPCOLESTR str)
Definition: oleaut.c:240
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
Definition: oleaut.c:273
#define V_ARRAY(A)
Definition: oleauto.h:222
#define V_BOOLREF(A)
Definition: oleauto.h:225
#define V_VARIANTREF(A)
Definition: oleauto.h:283
#define V_VT(A)
Definition: oleauto.h:211
#define V_BSTR(A)
Definition: oleauto.h:226
#define V_I4(A)
Definition: oleauto.h:247
#define V_DISPATCH(A)
Definition: oleauto.h:239
short WCHAR
Definition: pedump.c:58
TCHAR file_path[MAX_PATH]
Definition: sndrec32.cpp:57
#define TRACE(s)
Definition: solgame.cpp:4

◆ DocObjectService_FireDocumentComplete()

static HRESULT WINAPI DocObjectService_FireDocumentComplete ( IDocObjectService *  iface,
IHTMLWindow2 *  pHTMLWindow,
DWORD  dwFlags 
)
static

Definition at line 835 of file shellbrowser.c.

839{
841 IHTMLPrivateWindow *priv_window;
842 const WCHAR *orig_url;
844 DISPPARAMS dp = {params, NULL, 2, 0};
845 VARIANT url_var;
846 BSTR url;
848
849 TRACE("%p %p %lx\n", This, pHTMLWindow, dwFlags);
850
851 hres = IHTMLWindow2_QueryInterface(pHTMLWindow, &IID_IHTMLPrivateWindow, (void**)&priv_window);
852 if(FAILED(hres))
853 return hres;
854
855 hres = IHTMLPrivateWindow_GetAddressBarUrl(priv_window, &url);
856 IHTMLPrivateWindow_Release(priv_window);
857 if(FAILED(hres))
858 return hres;
859
860 TRACE("got URL %s\n", debugstr_w(url));
861
862 orig_url = error_url_frag(url);
863 if(orig_url) {
864 BSTR tmp = SysAllocString(orig_url);
866 url = tmp;
867 }
868
870 V_VARIANTREF(params) = &url_var;
871
873 V_DISPATCH(params+1) = (IDispatch*)This->doc_host->wb;
874
875 V_VT(&url_var) = VT_BSTR;
876 V_BSTR(&url_var) = url;
877
878 /* Keep reference to This. It may be released in event handler. */
879 IShellBrowser_AddRef(&This->IShellBrowser_iface);
880
881 TRACE(">>>\n");
882 call_sink(This->doc_host->cps.wbe2, DISPID_DOCUMENTCOMPLETE, &dp);
883 TRACE("<<<\n");
884
886
887 IShellBrowser_Release(&This->IShellBrowser_iface);
888 return S_OK;
889}
OLECHAR * BSTR
Definition: compat.h:2293
#define DISPID_DOCUMENTCOMPLETE
Definition: exdispid.h:52
#define FAILED(hr)
Definition: intsafe.h:51
static const WCHAR url[]
Definition: encode.c:1384
const WCHAR * error_url_frag(const WCHAR *url)
Definition: shellbrowser.c:32

◆ DocObjectService_FireDownloadBegin()

static HRESULT WINAPI DocObjectService_FireDownloadBegin ( IDocObjectService *  iface)
static

Definition at line 819 of file shellbrowser.c.

821{
823 FIXME("%p\n", This);
824 return E_NOTIMPL;
825}

◆ DocObjectService_FireDownloadComplete()

static HRESULT WINAPI DocObjectService_FireDownloadComplete ( IDocObjectService *  iface)
static

Definition at line 827 of file shellbrowser.c.

829{
831 FIXME("%p\n", This);
832 return E_NOTIMPL;
833}

◆ DocObjectService_FireNavigateComplete2()

static HRESULT WINAPI DocObjectService_FireNavigateComplete2 ( IDocObjectService *  iface,
IHTMLWindow2 *  pHTMLWindow2,
DWORD  dwFlags 
)
static

Definition at line 753 of file shellbrowser.c.

757{
759 DocHost *doc_host = This->doc_host;
760 IHTMLPrivateWindow *priv_window;
761 const WCHAR *orig_url;
763 DISPPARAMS dp = {params, NULL, 2, 0};
764 VARIANT url_var;
765 BSTR url;
767
768 TRACE("%p %p %lx\n", This, pHTMLWindow2, dwFlags);
769
771
772 if(doc_host->travellog.loading_pos != -1) {
773 WARN("histupdate not notified\n");
774 doc_host->travellog.position = doc_host->travellog.loading_pos;
775 doc_host->travellog.loading_pos = -1;
776 }
777
778 hres = IHTMLWindow2_QueryInterface(pHTMLWindow2, &IID_IHTMLPrivateWindow, (void**)&priv_window);
779 if(FAILED(hres))
780 return hres;
781
782 hres = IHTMLPrivateWindow_GetAddressBarUrl(priv_window, &url);
783 IHTMLPrivateWindow_Release(priv_window);
784 if(FAILED(hres))
785 return hres;
786
787 TRACE("got URL %s\n", debugstr_w(url));
788 set_dochost_url(This->doc_host, url);
789
790 orig_url = error_url_frag(url);
791 if(orig_url) {
792 BSTR tmp = SysAllocString(orig_url);
794 url = tmp;
795 }
796
798 V_VARIANTREF(params) = &url_var;
799
801 V_DISPATCH(params+1) = (IDispatch*)doc_host->wb;
802
803 V_VT(&url_var) = VT_BSTR;
804 V_BSTR(&url_var) = url;
805
806 /* Keep reference to This. It may be released in event handler. */
807 IShellBrowser_AddRef(&This->IShellBrowser_iface);
808
809 TRACE(">>>\n");
810 call_sink(This->doc_host->cps.wbe2, DISPID_NAVIGATECOMPLETE2, &dp);
811 TRACE("<<<\n");
812
814
815 IShellBrowser_Release(&This->IShellBrowser_iface);
816 return S_OK;
817}
#define WARN(fmt,...)
Definition: precomp.h:61
void update_navigation_commands(DocHost *dochost)
Definition: dochost.c:106
#define DISPID_NAVIGATECOMPLETE2
Definition: exdispid.h:45
HRESULT set_dochost_url(DocHost *, const WCHAR *)
Definition: navigate.c:132
IWebBrowser2 * wb
Definition: ieframe.h:132
struct DocHost::@534 travellog

◆ DocObjectService_GetPendingUrl()

static HRESULT WINAPI DocObjectService_GetPendingUrl ( IDocObjectService *  iface,
BSTR *  pbstrPendingUrl 
)
static

Definition at line 900 of file shellbrowser.c.

903{
905 FIXME("%p %p\n", This, pbstrPendingUrl);
906 return E_NOTIMPL;
907}

◆ DocObjectService_GetUrlSearchComponent()

static HRESULT WINAPI DocObjectService_GetUrlSearchComponent ( IDocObjectService *  iface,
BSTR *  pbstrSearch 
)
static

Definition at line 918 of file shellbrowser.c.

921{
923 FIXME("%p %p\n", This, pbstrSearch);
924 return E_NOTIMPL;
925}

◆ DocObjectService_IsErrorUrl()

static HRESULT WINAPI DocObjectService_IsErrorUrl ( IDocObjectService *  iface,
LPCWSTR  lpszUrl,
BOOL *  pfIsError 
)
static

Definition at line 927 of file shellbrowser.c.

931{
933
934 TRACE("(%p)->(%s %p)\n", This, debugstr_w(lpszUrl), pfIsError);
935
936 *pfIsError = !!error_url_frag(lpszUrl);
937 return S_OK;
938}

◆ DocObjectService_QueryInterface()

static HRESULT WINAPI DocObjectService_QueryInterface ( IDocObjectService *  iface,
REFIID  riid,
void **  ppvObject 
)
static

Definition at line 637 of file shellbrowser.c.

641{
643 return IShellBrowser_QueryInterface(&This->IShellBrowser_iface, riid, ppvObject);
644}

◆ DocObjectService_Release()

static ULONG WINAPI DocObjectService_Release ( IDocObjectService *  iface)
static

Definition at line 653 of file shellbrowser.c.

655{
657 return IShellBrowser_Release(&This->IShellBrowser_iface);
658}

◆ DocObjectService_UpdateDesktopComponent()

static HRESULT WINAPI DocObjectService_UpdateDesktopComponent ( IDocObjectService *  iface,
IHTMLWindow2 *  pHTMLWindow 
)
static

Definition at line 891 of file shellbrowser.c.

894{
896 FIXME("%p %p\n", This, pHTMLWindow);
897 return E_NOTIMPL;
898}

◆ error_url_frag()

const WCHAR * error_url_frag ( const WCHAR *  url)

Definition at line 32 of file shellbrowser.c.

33{
34 if(!wcsncmp(url, L"res://", ARRAY_SIZE(L"res://")-1)) {
37
38 if(len && !wcsncmp(url + ARRAY_SIZE(L"res://")-1, buf, len)) {
39 len += ARRAY_SIZE(L"res://")-1;
40 if(!wcsncmp(url + len, L"\\shdoclc.dll/ERROR.HTM", ARRAY_SIZE(L"\\shdoclc.dll/ERROR.HTM")-1)) {
41 len += ARRAY_SIZE(L"\\shdoclc.dll/ERROR.HTM")-1;
42 url = wcschr(url + len, '#');
43 return url ? url + 1 : NULL;
44 }
45 }
46 }
47 return NULL;
48}
#define wcschr
Definition: compat.h:17
UINT WINAPI GetSystemDirectoryW(OUT LPWSTR lpBuffer, IN UINT uSize)
Definition: path.c:2331
_ACRTIMP int __cdecl wcsncmp(const wchar_t *, const wchar_t *, size_t)
Definition: wcs.c:523
#define L(x)
Definition: resources.c:13
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
GLenum GLsizei len
Definition: glext.h:6722
unsigned int UINT
Definition: sysinfo.c:13

Referenced by DocHostContainer_set_url(), DocObjectService_FireDocumentComplete(), DocObjectService_FireNavigateComplete2(), and DocObjectService_IsErrorUrl().

◆ impl_from_IBrowserService()

◆ impl_from_IDocObjectService()

◆ impl_from_INewWindowManager()

static NewWindowManager * impl_from_INewWindowManager ( INewWindowManager *  iface)
inlinestatic

◆ impl_from_IShellBrowser()

◆ NewWindowManager_AddRef()

static ULONG WINAPI NewWindowManager_AddRef ( INewWindowManager *  iface)
static

Definition at line 1006 of file shellbrowser.c.

1007{
1009
1010 TRACE("(%p)\n", This);
1011
1012 return IOleClientSite_AddRef(&This->doc_host->IOleClientSite_iface);
1013}
static NewWindowManager * impl_from_INewWindowManager(INewWindowManager *iface)
Definition: shellbrowser.c:981

◆ NewWindowManager_EvaluateNewWindow()

static HRESULT WINAPI NewWindowManager_EvaluateNewWindow ( INewWindowManager *  iface,
LPCWSTR  pszUrl,
LPCWSTR  pszName,
LPCWSTR  pszUrlContext,
LPCWSTR  pszFeatures,
BOOL  fReplace,
DWORD  dwFlags,
DWORD  dwUserActionTime 
)
static

Definition at line 1024 of file shellbrowser.c.

1027{
1029 FIXME("(%p)->(%s %s %s %s %x %lx %ld)\n", This, debugstr_w(pszUrl), debugstr_w(pszName), debugstr_w(pszUrlContext),
1030 debugstr_w(pszFeatures), fReplace, dwFlags, dwUserActionTime);
1031 return S_OK;
1032}

◆ NewWindowManager_Init()

void NewWindowManager_Init ( DocHost *  doc_host)

Definition at line 1041 of file shellbrowser.c.

1042{
1044 doc_host->nwm.doc_host = doc_host;
1045}
static const INewWindowManagerVtbl NewWindowManagerVtbl
NewWindowManager nwm
Definition: ieframe.h:174
INewWindowManager INewWindowManager_iface
Definition: ieframe.h:99
DocHost * doc_host
Definition: ieframe.h:100

Referenced by DocHost_Init().

◆ NewWindowManager_QueryInterface()

static HRESULT WINAPI NewWindowManager_QueryInterface ( INewWindowManager *  iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 986 of file shellbrowser.c.

987{
989
991 TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv);
992 *ppv = &This->INewWindowManager_iface;
993 }else if(IsEqualGUID(&IID_INewWindowManager, riid)) {
994 TRACE("(%p)->(IID_INewWindowManager %p)\n", This, ppv);
995 *ppv = &This->INewWindowManager_iface;
996 }else {
997 WARN("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppv);
998 *ppv = NULL;
999 return E_NOINTERFACE;
1000 }
1001
1002 IUnknown_AddRef((IUnknown*)*ppv);
1003 return S_OK;
1004}
const GUID IID_IUnknown
REFIID LPVOID * ppv
Definition: atlbase.h:39
#define debugstr_guid
Definition: kernel32.h:35
#define IsEqualGUID(rguid1, rguid2)
Definition: guiddef.h:147
#define E_NOINTERFACE
Definition: winerror.h:3479

◆ NewWindowManager_Release()

static ULONG WINAPI NewWindowManager_Release ( INewWindowManager *  iface)
static

Definition at line 1015 of file shellbrowser.c.

1016{
1018
1019 TRACE("(%p)\n", This);
1020
1021 return IOleClientSite_Release(&This->doc_host->IOleClientSite_iface);
1022}

◆ ShellBrowser_AddRef()

static ULONG WINAPI ShellBrowser_AddRef ( IShellBrowser *  iface)
static

Definition at line 84 of file shellbrowser.c.

86{
89
90 TRACE("(%p) ref=%ld\n", This, ref);
91
92 return ref;
93}
#define InterlockedIncrement
Definition: armddk.h:53
long LONG
Definition: pedump.c:60
static ShellBrowser * impl_from_IShellBrowser(IShellBrowser *iface)
Definition: shellbrowser.c:50
Definition: send.c:48

◆ ShellBrowser_BrowseObject()

static HRESULT WINAPI ShellBrowser_BrowseObject ( IShellBrowser *  iface,
LPCITEMIDLIST  pidl,
UINT  wFlags 
)
static

Definition at line 186 of file shellbrowser.c.

190{
192 FIXME("%p %p %u\n", This, pidl, wFlags);
193 return E_NOTIMPL;
194}
WINBASEAPI _In_ DWORD _Out_ _In_ WORD wFlags
Definition: wincon_undoc.h:337

◆ ShellBrowser_ContextSensitiveHelp()

static HRESULT WINAPI ShellBrowser_ContextSensitiveHelp ( IShellBrowser *  iface,
BOOL  fEnterMode 
)
static

Definition at line 119 of file shellbrowser.c.

122{
124 FIXME("%p %d\n", This, fEnterMode);
125 return E_NOTIMPL;
126}

◆ ShellBrowser_EnableModelessSB()

static HRESULT WINAPI ShellBrowser_EnableModelessSB ( IShellBrowser *  iface,
BOOL  fEnable 
)
static

Definition at line 167 of file shellbrowser.c.

170{
172 FIXME("%p %d\n", This, fEnable);
173 return E_NOTIMPL;
174}

◆ ShellBrowser_GetControlWindow()

static HRESULT WINAPI ShellBrowser_GetControlWindow ( IShellBrowser *  iface,
UINT  id,
HWND *  phwnd 
)
static

Definition at line 206 of file shellbrowser.c.

210{
212 FIXME("%p %u %p\n", This, id, phwnd);
213 return E_NOTIMPL;
214}

◆ ShellBrowser_GetViewStateStream()

static HRESULT WINAPI ShellBrowser_GetViewStateStream ( IShellBrowser *  iface,
DWORD  grfMode,
IStream **  ppStrm 
)
static

Definition at line 196 of file shellbrowser.c.

200{
202 FIXME("%p %lx %p\n", This, grfMode, ppStrm);
203 return E_NOTIMPL;
204}

◆ ShellBrowser_GetWindow()

static HRESULT WINAPI ShellBrowser_GetWindow ( IShellBrowser *  iface,
HWND *  phwnd 
)
static

Definition at line 110 of file shellbrowser.c.

113{
115 FIXME("%p %p\n", This, phwnd);
116 return E_NOTIMPL;
117}

◆ ShellBrowser_InsertMenusSB()

static HRESULT WINAPI ShellBrowser_InsertMenusSB ( IShellBrowser *  iface,
HMENU  hmenuShared,
LPOLEMENUGROUPWIDTHS  lpMenuWidths 
)
static

Definition at line 128 of file shellbrowser.c.

132{
134 FIXME("%p %p %p\n", This, hmenuShared, lpMenuWidths);
135 return E_NOTIMPL;
136}

◆ ShellBrowser_OnViewWindowActive()

static HRESULT WINAPI ShellBrowser_OnViewWindowActive ( IShellBrowser *  iface,
IShellView *  pshv 
)
static

Definition at line 238 of file shellbrowser.c.

241{
243 FIXME("%p %p\n", This, pshv);
244 return E_NOTIMPL;
245}

◆ ShellBrowser_QueryActiveShellView()

static HRESULT WINAPI ShellBrowser_QueryActiveShellView ( IShellBrowser *  iface,
IShellView **  ppshv 
)
static

Definition at line 229 of file shellbrowser.c.

232{
234 FIXME("%p %p\n", This, ppshv);
235 return E_NOTIMPL;
236}

◆ ShellBrowser_QueryInterface()

static HRESULT WINAPI ShellBrowser_QueryInterface ( IShellBrowser *  iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 55 of file shellbrowser.c.

56{
58
60 TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv);
61 *ppv = &This->IShellBrowser_iface;
62 }else if(IsEqualGUID(&IID_IOleWindow, riid)) {
63 TRACE("(%p)->(IID_IOleWindow %p)\n", This, ppv);
64 *ppv = &This->IShellBrowser_iface;
65 }else if(IsEqualGUID(&IID_IShellBrowser, riid)) {
66 TRACE("(%p)->(IID_IShellBrowser %p)\n", This, ppv);
67 *ppv = &This->IShellBrowser_iface;
68 }else if(IsEqualGUID(&IID_IBrowserService, riid)) {
69 TRACE("(%p)->(IID_IBrowserService %p)\n", This, ppv);
70 *ppv = &This->IBrowserService_iface;
71 }else if(IsEqualGUID(&IID_IDocObjectService, riid)) {
72 TRACE("(%p)->(IID_IDocObjectService %p)\n", This, ppv);
73 *ppv = &This->IDocObjectService_iface;
74 }else {
75 FIXME("%p %s %p\n", This, debugstr_guid(riid), ppv);
76 *ppv = NULL;
77 return E_NOINTERFACE;
78 }
79
80 IUnknown_AddRef((IUnknown*)*ppv);
81 return S_OK;
82}
const GUID IID_IOleWindow

◆ ShellBrowser_Release()

static ULONG WINAPI ShellBrowser_Release ( IShellBrowser *  iface)
static

Definition at line 95 of file shellbrowser.c.

96{
99
100 TRACE("(%p) ref=%ld\n", This, ref);
101
102 if(!ref) {
103 assert(!This->doc_host);
104 free(This);
105 }
106
107 return ref;
108}
#define InterlockedDecrement
Definition: armddk.h:52
#define free
Definition: debug_ros.c:5
#define assert(_expr)
Definition: assert.h:32

◆ ShellBrowser_RemoveMenusSB()

static HRESULT WINAPI ShellBrowser_RemoveMenusSB ( IShellBrowser *  iface,
HMENU  hmenuShared 
)
static

Definition at line 149 of file shellbrowser.c.

152{
154 FIXME("%p %p\n", This, hmenuShared);
155 return E_NOTIMPL;
156}

◆ ShellBrowser_SendControlMsg()

static HRESULT WINAPI ShellBrowser_SendControlMsg ( IShellBrowser *  iface,
UINT  id,
UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
LRESULT *  pret 
)
static

Definition at line 216 of file shellbrowser.c.

223{
225 FIXME("%p %u %u %p\n", This, id, uMsg, pret);
226 return E_NOTIMPL;
227}

◆ ShellBrowser_SetMenuSB()

static HRESULT WINAPI ShellBrowser_SetMenuSB ( IShellBrowser *  iface,
HMENU  hmenuShared,
HOLEMENU  holemenuReserved,
HWND  hwndActiveObject 
)
static

Definition at line 138 of file shellbrowser.c.

143{
145 FIXME("%p %p %p %p\n", This, hmenuShared, holemenuReserved, hwndActiveObject);
146 return E_NOTIMPL;
147}

◆ ShellBrowser_SetStatusTextSB()

static HRESULT WINAPI ShellBrowser_SetStatusTextSB ( IShellBrowser *  iface,
LPCOLESTR  pszStatusText 
)
static

Definition at line 158 of file shellbrowser.c.

161{
163 FIXME("%p %s\n", This, debugstr_w(pszStatusText));
164 return E_NOTIMPL;
165}

◆ ShellBrowser_SetToolbarItems()

static HRESULT WINAPI ShellBrowser_SetToolbarItems ( IShellBrowser *  iface,
LPTBBUTTONSB  lpButtons,
UINT  nButtons,
UINT  uFlags 
)
static

Definition at line 247 of file shellbrowser.c.

252{
254 FIXME("%p %p %u %u\n", This, lpButtons, nButtons, uFlags);
255 return E_NOTIMPL;
256}

◆ ShellBrowser_TranslateAcceleratorSB()

static HRESULT WINAPI ShellBrowser_TranslateAcceleratorSB ( IShellBrowser *  iface,
MSG *  pmsg,
WORD  wID 
)
static

Definition at line 176 of file shellbrowser.c.

180{
182 FIXME("%p %p %d\n", This, pmsg, (int)wID);
183 return E_NOTIMPL;
184}

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( ieframe  )

Variable Documentation

◆ BrowserServiceVtbl

const IBrowserServiceVtbl BrowserServiceVtbl
static

Definition at line 596 of file shellbrowser.c.

Referenced by create_browser_service().

◆ DocObjectServiceVtbl

const IDocObjectServiceVtbl DocObjectServiceVtbl
static
Initial value:
= {
}
static HRESULT WINAPI DocObjectService_FireDownloadBegin(IDocObjectService *iface)
Definition: shellbrowser.c:819
static HRESULT WINAPI DocObjectService_GetUrlSearchComponent(IDocObjectService *iface, BSTR *pbstrSearch)
Definition: shellbrowser.c:918
static HRESULT WINAPI DocObjectService_FireDownloadComplete(IDocObjectService *iface)
Definition: shellbrowser.c:827
static HRESULT WINAPI DocObjectService_ActiveElementChanged(IDocObjectService *iface, IHTMLElement *pHTMLElement)
Definition: shellbrowser.c:909
static HRESULT WINAPI DocObjectService_QueryInterface(IDocObjectService *iface, REFIID riid, void **ppvObject)
Definition: shellbrowser.c:637
static HRESULT WINAPI DocObjectService_FireNavigateComplete2(IDocObjectService *iface, IHTMLWindow2 *pHTMLWindow2, DWORD dwFlags)
Definition: shellbrowser.c:753
static HRESULT WINAPI DocObjectService_FireDocumentComplete(IDocObjectService *iface, IHTMLWindow2 *pHTMLWindow, DWORD dwFlags)
Definition: shellbrowser.c:835
static HRESULT WINAPI DocObjectService_UpdateDesktopComponent(IDocObjectService *iface, IHTMLWindow2 *pHTMLWindow)
Definition: shellbrowser.c:891
static ULONG WINAPI DocObjectService_Release(IDocObjectService *iface)
Definition: shellbrowser.c:653
static HRESULT WINAPI DocObjectService_IsErrorUrl(IDocObjectService *iface, LPCWSTR lpszUrl, BOOL *pfIsError)
Definition: shellbrowser.c:927
static ULONG WINAPI DocObjectService_AddRef(IDocObjectService *iface)
Definition: shellbrowser.c:646
static HRESULT WINAPI DocObjectService_FireBeforeNavigate2(IDocObjectService *iface, IDispatch *pDispatch, LPCWSTR lpszUrl, DWORD dwFlags, LPCWSTR lpszFrameName, BYTE *pPostData, DWORD cbPostData, LPCWSTR lpszHeaders, BOOL fPlayNavSound, BOOL *pfCancel)
Definition: shellbrowser.c:660
static HRESULT WINAPI DocObjectService_GetPendingUrl(IDocObjectService *iface, BSTR *pbstrPendingUrl)
Definition: shellbrowser.c:900

Definition at line 940 of file shellbrowser.c.

Referenced by create_browser_service().

◆ NewWindowManagerVtbl

const INewWindowManagerVtbl NewWindowManagerVtbl
static
Initial value:
= {
}
static ULONG WINAPI NewWindowManager_Release(INewWindowManager *iface)
static ULONG WINAPI NewWindowManager_AddRef(INewWindowManager *iface)
static HRESULT WINAPI NewWindowManager_QueryInterface(INewWindowManager *iface, REFIID riid, void **ppv)
Definition: shellbrowser.c:986
static HRESULT WINAPI NewWindowManager_EvaluateNewWindow(INewWindowManager *iface, LPCWSTR pszUrl, LPCWSTR pszName, LPCWSTR pszUrlContext, LPCWSTR pszFeatures, BOOL fReplace, DWORD dwFlags, DWORD dwUserActionTime)

Definition at line 1034 of file shellbrowser.c.

Referenced by NewWindowManager_Init().

◆ ShellBrowserVtbl

const IShellBrowserVtbl ShellBrowserVtbl
static
Initial value:
= {
}
static HRESULT WINAPI ShellBrowser_EnableModelessSB(IShellBrowser *iface, BOOL fEnable)
Definition: shellbrowser.c:167
static HRESULT WINAPI ShellBrowser_InsertMenusSB(IShellBrowser *iface, HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths)
Definition: shellbrowser.c:128
static HRESULT WINAPI ShellBrowser_TranslateAcceleratorSB(IShellBrowser *iface, MSG *pmsg, WORD wID)
Definition: shellbrowser.c:176
static ULONG WINAPI ShellBrowser_Release(IShellBrowser *iface)
Definition: shellbrowser.c:95
static HRESULT WINAPI ShellBrowser_RemoveMenusSB(IShellBrowser *iface, HMENU hmenuShared)
Definition: shellbrowser.c:149
static HRESULT WINAPI ShellBrowser_ContextSensitiveHelp(IShellBrowser *iface, BOOL fEnterMode)
Definition: shellbrowser.c:119
static HRESULT WINAPI ShellBrowser_GetViewStateStream(IShellBrowser *iface, DWORD grfMode, IStream **ppStrm)
Definition: shellbrowser.c:196
static HRESULT WINAPI ShellBrowser_OnViewWindowActive(IShellBrowser *iface, IShellView *pshv)
Definition: shellbrowser.c:238
static HRESULT WINAPI ShellBrowser_SetStatusTextSB(IShellBrowser *iface, LPCOLESTR pszStatusText)
Definition: shellbrowser.c:158
static HRESULT WINAPI ShellBrowser_GetWindow(IShellBrowser *iface, HWND *phwnd)
Definition: shellbrowser.c:110
static HRESULT WINAPI ShellBrowser_QueryInterface(IShellBrowser *iface, REFIID riid, void **ppv)
Definition: shellbrowser.c:55
static HRESULT WINAPI ShellBrowser_SetMenuSB(IShellBrowser *iface, HMENU hmenuShared, HOLEMENU holemenuReserved, HWND hwndActiveObject)
Definition: shellbrowser.c:138
static HRESULT WINAPI ShellBrowser_GetControlWindow(IShellBrowser *iface, UINT id, HWND *phwnd)
Definition: shellbrowser.c:206
static HRESULT WINAPI ShellBrowser_QueryActiveShellView(IShellBrowser *iface, IShellView **ppshv)
Definition: shellbrowser.c:229
static HRESULT WINAPI ShellBrowser_SetToolbarItems(IShellBrowser *iface, LPTBBUTTONSB lpButtons, UINT nButtons, UINT uFlags)
Definition: shellbrowser.c:247
static HRESULT WINAPI ShellBrowser_BrowseObject(IShellBrowser *iface, LPCITEMIDLIST pidl, UINT wFlags)
Definition: shellbrowser.c:186
static HRESULT WINAPI ShellBrowser_SendControlMsg(IShellBrowser *iface, UINT id, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *pret)
Definition: shellbrowser.c:216
static ULONG WINAPI ShellBrowser_AddRef(IShellBrowser *iface)
Definition: shellbrowser.c:84

Definition at line 258 of file shellbrowser.c.

Referenced by create_browser_service().