Sync to trunk r65566.
[reactos.git] / dll / win32 / browseui / explorerband.cpp
1 #include "precomp.h"
2
3 #if 1
4 #undef UNIMPLEMENTED
5
6 #define UNIMPLEMENTED DbgPrint("%s is UNIMPLEMENTED!\n", __FUNCTION__)
7 #endif
8
9 extern "C"
10 HRESULT WINAPI CExplorerBand_Constructor(REFIID riid, LPVOID *ppv)
11 {
12 return ShellObjectCreator<CExplorerBand>(riid, ppv);
13 }
14
15 CExplorerBand::CExplorerBand() :
16 m_internalBand(NULL),
17 m_internalDeskBand(NULL),
18 m_internalObjectWithSite(NULL),
19 m_internalInputObject(NULL),
20 m_internalPersistStream(NULL),
21 m_internalOleCommandTarget(NULL),
22 m_internalServiceProvider(NULL),
23 m_internalBandNavigate(NULL),
24 m_internalWinEventHandler(NULL),
25 m_internalNamespaceProxy(NULL),
26 m_internalDispatch(NULL),
27 m_OnWinEventShown(FALSE)
28 {
29 HRESULT hResult = CoCreateInstance(CLSID_ExplorerBand, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARG(IUnknown, &m_internalBand));
30 if (FAILED(hResult))
31 {
32 ERR("Could not create internal band (hr=%08lx).\n", hResult);
33 m_internalBand = NULL;
34 return;
35 }
36 hResult = m_internalBand->QueryInterface(IID_PPV_ARG(IDeskBand, &m_internalDeskBand));
37 if (FAILED(hResult))
38 {
39 ERR("Could not obtain interface IDeskBand from internal band (hr=%08lx).\n", hResult);
40 m_internalBand = NULL;
41 m_internalDeskBand = NULL;
42 return;
43 }
44 hResult = m_internalBand->QueryInterface(IID_PPV_ARG(IObjectWithSite, &m_internalObjectWithSite));
45 if (FAILED(hResult))
46 {
47 ERR("Could not obtain interface IObjectWithSite from internal band (hr=%08lx).\n", hResult);
48 m_internalBand = NULL;
49 m_internalDeskBand = NULL;
50 m_internalObjectWithSite = NULL;
51 return;
52 }
53 hResult = m_internalBand->QueryInterface(IID_PPV_ARG(IInputObject, &m_internalInputObject));
54 if (FAILED(hResult))
55 {
56 ERR("Could not obtain interface IInputObject from internal band (hr=%08lx).\n", hResult);
57 m_internalBand = NULL;
58 m_internalDeskBand = NULL;
59 m_internalObjectWithSite = NULL;
60 m_internalInputObject = NULL;
61 return;
62 }
63 hResult = m_internalBand->QueryInterface(IID_PPV_ARG(IPersistStream, &m_internalPersistStream));
64 if (FAILED(hResult))
65 {
66 ERR("Could not obtain interface IPersistStream from internal band (hr=%08lx).\n", hResult);
67 m_internalBand = NULL;
68 m_internalDeskBand = NULL;
69 m_internalObjectWithSite = NULL;
70 m_internalInputObject = NULL;
71 m_internalPersistStream = NULL;
72 return;
73 }
74 hResult = m_internalBand->QueryInterface(IID_PPV_ARG(IOleCommandTarget, &m_internalOleCommandTarget));
75 if (FAILED(hResult))
76 {
77 ERR("Could not obtain interface IOleCommandTarget from internal band (hr=%08lx).\n", hResult);
78 m_internalBand = NULL;
79 m_internalDeskBand = NULL;
80 m_internalObjectWithSite = NULL;
81 m_internalInputObject = NULL;
82 m_internalPersistStream = NULL;
83 m_internalOleCommandTarget = NULL;
84 return;
85 }
86 hResult = m_internalBand->QueryInterface(IID_PPV_ARG(IServiceProvider, &m_internalServiceProvider));
87 if (FAILED(hResult))
88 {
89 ERR("Could not obtain interface IServiceProvider from internal band (hr=%08lx).\n", hResult);
90 m_internalBand = NULL;
91 m_internalDeskBand = NULL;
92 m_internalObjectWithSite = NULL;
93 m_internalInputObject = NULL;
94 m_internalPersistStream = NULL;
95 m_internalOleCommandTarget = NULL;
96 m_internalServiceProvider = NULL;
97 return;
98 }
99 hResult = m_internalBand->QueryInterface(IID_PPV_ARG(IBandNavigate, &m_internalBandNavigate));
100 if (FAILED(hResult))
101 {
102 ERR("Could not obtain interface IBandNavigate from internal band (hr=%08lx).\n", hResult);
103 m_internalBand = NULL;
104 m_internalDeskBand = NULL;
105 m_internalObjectWithSite = NULL;
106 m_internalInputObject = NULL;
107 m_internalPersistStream = NULL;
108 m_internalOleCommandTarget = NULL;
109 m_internalServiceProvider = NULL;
110 m_internalBandNavigate = NULL;
111 return;
112 }
113 hResult = m_internalBand->QueryInterface(IID_PPV_ARG(IWinEventHandler, &m_internalWinEventHandler));
114 if (FAILED(hResult))
115 {
116 ERR("Could not obtain interface IWinEventHandler from internal band (hr=%08lx).\n", hResult);
117 m_internalBand = NULL;
118 m_internalDeskBand = NULL;
119 m_internalObjectWithSite = NULL;
120 m_internalInputObject = NULL;
121 m_internalPersistStream = NULL;
122 m_internalOleCommandTarget = NULL;
123 m_internalServiceProvider = NULL;
124 m_internalBandNavigate = NULL;
125 m_internalWinEventHandler = NULL;
126 return;
127 }
128 hResult = m_internalBand->QueryInterface(IID_PPV_ARG(INamespaceProxy, &m_internalNamespaceProxy));
129 if (FAILED(hResult))
130 {
131 ERR("Could not obtain interface INamespaceProxy from internal band (hr=%08lx).\n", hResult);
132 m_internalBand = NULL;
133 m_internalDeskBand = NULL;
134 m_internalObjectWithSite = NULL;
135 m_internalInputObject = NULL;
136 m_internalPersistStream = NULL;
137 m_internalOleCommandTarget = NULL;
138 m_internalServiceProvider = NULL;
139 m_internalBandNavigate = NULL;
140 m_internalWinEventHandler = NULL;
141 m_internalNamespaceProxy = NULL;
142 return;
143 }
144 hResult = m_internalBand->QueryInterface(IID_PPV_ARG(IDispatch, &m_internalDispatch));
145 if (FAILED(hResult))
146 {
147 ERR("Could not obtain interface INamespaceProxy from internal band (hr=%08lx).\n", hResult);
148 m_internalBand = NULL;
149 m_internalDeskBand = NULL;
150 m_internalObjectWithSite = NULL;
151 m_internalInputObject = NULL;
152 m_internalPersistStream = NULL;
153 m_internalOleCommandTarget = NULL;
154 m_internalServiceProvider = NULL;
155 m_internalBandNavigate = NULL;
156 m_internalWinEventHandler = NULL;
157 m_internalNamespaceProxy = NULL;
158 m_internalDispatch = NULL;
159 return;
160 }
161 }
162
163 CExplorerBand::~CExplorerBand()
164 {
165 }
166
167 // *** IOleWindow methods ***
168 HRESULT STDMETHODCALLTYPE CExplorerBand::GetWindow(HWND *lphwnd)
169 {
170 HRESULT hr;
171 if (m_internalDeskBand)
172 {
173 DbgPrint("HRESULT STDMETHODCALLTYPE CExplorerBand::GetWindow(HWND *lphwnd=%p)\n", lphwnd);
174 hr = m_internalDeskBand->GetWindow(lphwnd);
175 if (lphwnd)
176 DbgPrint("\t*lphwnd=%p\n", *lphwnd);
177 DbgPrint("CExplorerBand::GetWindow returning %08lx\n", hr);
178 return hr;
179 }
180
181 UNIMPLEMENTED;
182 return E_NOTIMPL;
183 }
184
185 HRESULT STDMETHODCALLTYPE CExplorerBand::ContextSensitiveHelp(BOOL fEnterMode)
186 {
187 HRESULT hr;
188 if (m_internalDeskBand)
189 {
190 DbgPrint("HRESULT STDMETHODCALLTYPE CExplorerBand::ContextSensitiveHelp(BOOL fEnterMode=%s)\n", fEnterMode ? "TRUE" : "FALSE");
191 hr = m_internalDeskBand->ContextSensitiveHelp(fEnterMode);
192 DbgPrint("CExplorerBand::ContextSensitiveHelp returning %08lx\n", hr);
193 return hr;
194 }
195
196 UNIMPLEMENTED;
197 return E_NOTIMPL;
198 }
199
200
201 // *** IDockingWindow methods ***
202 HRESULT STDMETHODCALLTYPE CExplorerBand::CloseDW(DWORD dwReserved)
203 {
204 HRESULT hr;
205 if (m_internalDeskBand)
206 {
207 DbgPrint("HRESULT STDMETHODCALLTYPE CExplorerBand::CloseDW(DWORD dwReserved=%u)\n", dwReserved);
208 hr = m_internalDeskBand->CloseDW(dwReserved);
209 DbgPrint("CExplorerBand::CloseDW returning %08lx\n", hr);
210 return hr;
211 }
212
213 UNIMPLEMENTED;
214 return E_NOTIMPL;
215 }
216
217 HRESULT STDMETHODCALLTYPE CExplorerBand::ResizeBorderDW(const RECT *prcBorder, IUnknown *punkToolbarSite, BOOL fReserved)
218 {
219 HRESULT hr;
220 if (m_internalDeskBand)
221 {
222 DbgPrint("HRESULT STDMETHODCALLTYPE CExplorerBand::ResizeBorderDW(const RECT *prcBorder=%p, IUnknown *punkToolbarSite=%p, BOOL fReserved=%s)\n",
223 prcBorder, punkToolbarSite, fReserved ? "TRUE" : "FALSE");
224 if (prcBorder)
225 DbgPrint("\t*prcBorder={%u, %u, %u, %u}\n", prcBorder->left, prcBorder->top, prcBorder->right, prcBorder->bottom);
226 hr = m_internalDeskBand->ResizeBorderDW(prcBorder, punkToolbarSite, fReserved);
227 DbgPrint("CExplorerBand::ResizeBorderDW returning %08lx\n", hr);
228 return hr;
229 }
230
231 UNIMPLEMENTED;
232 return E_NOTIMPL;
233 }
234
235 HRESULT STDMETHODCALLTYPE CExplorerBand::ShowDW(BOOL fShow)
236 {
237 HRESULT hr;
238 if (m_internalDeskBand)
239 {
240 DbgPrint("HRESULT STDMETHODCALLTYPE CExplorerBand::ShowDW(BOOL fShow=%s)\n", fShow ? "TRUE" : "FALSE");
241 hr = m_internalDeskBand->ShowDW(fShow);
242 DbgPrint("CExplorerBand::ShowDW returning %08lx\n", hr);
243 return hr;
244 }
245
246 UNIMPLEMENTED;
247 return E_NOTIMPL;
248 }
249
250
251 // *** IDeskBand methods ***
252 HRESULT STDMETHODCALLTYPE CExplorerBand::GetBandInfo(DWORD dwBandID, DWORD dwViewMode, DESKBANDINFO *pdbi)
253 {
254 HRESULT hr;
255 if (m_internalDeskBand)
256 {
257 DbgPrint("HRESULT STDMETHODCALLTYPE CExplorerBand::GetBandInfo(DWORD dwBandID=%u, DWORD dwViewMode=%u, DESKBANDINFO *pdbi=%p)\n",
258 dwBandID, dwViewMode, pdbi);
259 if (pdbi)
260 DbgPrint("\t*pdbi={dwMask=%u, ...}\n", pdbi->dwMask);
261 hr = m_internalDeskBand->GetBandInfo(dwBandID, dwViewMode, pdbi);
262 if (pdbi)
263 DbgPrint("\t*pdbi={dwMask=%u, crBkgnd=%u, ...}\n", pdbi->dwMask, pdbi->crBkgnd);
264 DbgPrint("CExplorerBand::GetBandInfo returning %08lx\n", hr);
265 return hr;
266 }
267
268 UNIMPLEMENTED;
269 return E_NOTIMPL;
270 }
271
272
273 // *** IObjectWithSite methods ***
274 HRESULT STDMETHODCALLTYPE CExplorerBand::SetSite(IUnknown *pUnkSite)
275 {
276 HRESULT hr;
277 if (m_internalObjectWithSite)
278 {
279 DbgPrint("HRESULT STDMETHODCALLTYPE CExplorerBand::SetSite(IUnknown *pUnkSite=%p)\n", pUnkSite);
280 hr = m_internalObjectWithSite->SetSite(pUnkSite);
281 DbgPrint("CExplorerBand::SetSite returning %08lx\n", hr);
282 return hr;
283 }
284
285 UNIMPLEMENTED;
286 return E_NOTIMPL;
287 }
288
289 HRESULT STDMETHODCALLTYPE CExplorerBand::GetSite(REFIID riid, void **ppvSite)
290 {
291 HRESULT hr;
292 if (m_internalObjectWithSite)
293 {
294 DbgPrint("HRESULT STDMETHODCALLTYPE CExplorerBand::GetSite(REFIID riid=%s, void **ppvSite=%p)\n", wine_dbgstr_guid(&riid), ppvSite);
295 hr = m_internalObjectWithSite->GetSite(riid, ppvSite);
296 if (ppvSite)
297 DbgPrint("\t*ppvSite=%p\n", *ppvSite);
298 DbgPrint("CExplorerBand::GetSite returning %08lx\n", hr);
299 return hr;
300 }
301
302 UNIMPLEMENTED;
303 return E_NOTIMPL;
304 }
305
306
307 // *** IOleCommandTarget methods ***
308 HRESULT STDMETHODCALLTYPE CExplorerBand::QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds [], OLECMDTEXT *pCmdText)
309 {
310 HRESULT hr;
311 if (m_internalOleCommandTarget)
312 {
313 DbgPrint("HRESULT STDMETHODCALLTYPE CExplorerBand::QueryStatus(const GUID *pguidCmdGroup=%s, ULONG cCmds=%08x, OLECMD prgCmds []=%p, OLECMDTEXT *pCmdText=%p)\n",
314 wine_dbgstr_guid(pguidCmdGroup), cCmds, prgCmds, pCmdText);
315 hr = m_internalOleCommandTarget->QueryStatus(pguidCmdGroup, cCmds, prgCmds, pCmdText);
316 DbgPrint("CExplorerBand::QueryStatus returning %08lx\n", hr);
317 return hr;
318 }
319
320 UNIMPLEMENTED;
321 return E_NOTIMPL;
322 }
323
324 HRESULT STDMETHODCALLTYPE CExplorerBand::Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut)
325 {
326 HRESULT hr;
327 if (m_internalOleCommandTarget)
328 {
329 DbgPrint("HRESULT STDMETHODCALLTYPE CExplorerBand::Exec(const GUID *pguidCmdGroup=%s, DWORD nCmdID=%u, DWORD nCmdexecopt=%u, VARIANT *pvaIn=%p, VARIANT *pvaOut=%p)\n",
330 wine_dbgstr_guid(pguidCmdGroup), nCmdID, nCmdexecopt, pvaIn, pvaOut);
331 hr = m_internalOleCommandTarget->Exec(pguidCmdGroup, nCmdID, nCmdexecopt, pvaIn, pvaOut);
332 DbgPrint("CExplorerBand::Exec returning %08lx\n", hr);
333 return hr;
334 }
335
336 UNIMPLEMENTED;
337 return E_NOTIMPL;
338 }
339
340
341 // *** IServiceProvider methods ***
342 HRESULT STDMETHODCALLTYPE CExplorerBand::QueryService(REFGUID guidService, REFIID riid, void **ppvObject)
343 {
344 HRESULT hr;
345 if (m_internalServiceProvider)
346 {
347 DbgPrint("HRESULT STDMETHODCALLTYPE CExplorerBand::QueryService(REFGUID guidService=%s, REFIID riid=%s, void **ppvObject=%p)\n",
348 wine_dbgstr_guid(&guidService), wine_dbgstr_guid(&riid), ppvObject);
349 hr = m_internalServiceProvider->QueryService(guidService, riid, ppvObject);
350 if (ppvObject)
351 DbgPrint("\t*ppvObject=%p\n", *ppvObject);
352 DbgPrint("CExplorerBand::QueryService returning %08lx\n", hr);
353 return hr;
354 }
355
356 UNIMPLEMENTED;
357 return E_NOTIMPL;
358 }
359
360
361 // *** IInputObject methods ***
362 HRESULT STDMETHODCALLTYPE CExplorerBand::UIActivateIO(BOOL fActivate, LPMSG lpMsg)
363 {
364 HRESULT hr;
365 if (m_internalInputObject)
366 {
367 DbgPrint("HRESULT STDMETHODCALLTYPE CExplorerBand::UIActivateIO(BOOL fActivate=%s, LPMSG lpMsg=%p)\n",
368 fActivate ? "TRUE" : "FALSE", lpMsg);
369 hr = m_internalInputObject->UIActivateIO(fActivate, lpMsg);
370 if (lpMsg)
371 DbgPrint("\t*lpMsg={hwnd=%p, message=%x, wParam=%x, lParam=%x, time=%x, pt={%u %u}}\n",
372 lpMsg->hwnd, lpMsg->message, lpMsg->wParam, lpMsg->lParam, lpMsg->time, lpMsg->pt.x, lpMsg->pt.y);
373 DbgPrint("CExplorerBand::UIActivateIO returning %08lx\n", hr);
374 return hr;
375 }
376
377 UNIMPLEMENTED;
378 return E_NOTIMPL;
379 }
380
381 HRESULT STDMETHODCALLTYPE CExplorerBand::HasFocusIO()
382 {
383 HRESULT hr;
384 if (m_internalInputObject)
385 {
386 DbgPrint("HRESULT STDMETHODCALLTYPE CExplorerBand::HasFocusIO()\n");
387 hr = m_internalInputObject->HasFocusIO();
388 DbgPrint("CExplorerBand::HasFocusIO returning %08lx\n", hr);
389 return hr;
390 }
391
392 UNIMPLEMENTED;
393 return E_NOTIMPL;
394 }
395
396 HRESULT STDMETHODCALLTYPE CExplorerBand::TranslateAcceleratorIO(LPMSG lpMsg)
397 {
398 HRESULT hr;
399 if (m_internalInputObject)
400 {
401 DbgPrint("HRESULT STDMETHODCALLTYPE CExplorerBand::TranslateAcceleratorIO(LPMSG lpMsg=%p)\n", lpMsg);
402 hr = m_internalInputObject->TranslateAcceleratorIO(lpMsg);
403 if (lpMsg)
404 DbgPrint("\t*lpMsg={hwnd=%p, message=%x, wParam=%x, lParam=%x, time=%x, pt={%u %u}}\n",
405 lpMsg->hwnd, lpMsg->message, lpMsg->wParam, lpMsg->lParam, lpMsg->time, lpMsg->pt.x, lpMsg->pt.y);
406 DbgPrint("CExplorerBand::TranslateAcceleratorIO returning %08lx\n", hr);
407 return hr;
408 }
409
410 UNIMPLEMENTED;
411 return E_NOTIMPL;
412 }
413
414
415 // *** IPersist methods ***
416 HRESULT STDMETHODCALLTYPE CExplorerBand::GetClassID(CLSID *pClassID)
417 {
418 HRESULT hr;
419 if (m_internalPersistStream)
420 {
421 DbgPrint("HRESULT STDMETHODCALLTYPE CExplorerBand::GetClassID(CLSID *pClassID=%p)\n", pClassID);
422 hr = m_internalPersistStream->GetClassID(pClassID);
423 if (pClassID)
424 DbgPrint("\t*pClassID=%s\n", wine_dbgstr_guid(pClassID));
425 DbgPrint("CExplorerBand::GetClassID returning %08lx\n", hr);
426 return hr;
427 }
428
429 UNIMPLEMENTED;
430 return E_NOTIMPL;
431 }
432
433
434 // *** IPersistStream methods ***
435 HRESULT STDMETHODCALLTYPE CExplorerBand::IsDirty()
436 {
437 HRESULT hr;
438 if (m_internalPersistStream)
439 {
440 DbgPrint("HRESULT STDMETHODCALLTYPE CExplorerBand::IsDirty()\n");
441 hr = m_internalPersistStream->IsDirty();
442 DbgPrint("CExplorerBand::IsDirty returning %08lx\n", hr);
443 return hr;
444 }
445
446 UNIMPLEMENTED;
447 return E_NOTIMPL;
448 }
449
450 HRESULT STDMETHODCALLTYPE CExplorerBand::Load(IStream *pStm)
451 {
452 HRESULT hr;
453 if (m_internalPersistStream)
454 {
455 DbgPrint("HRESULT STDMETHODCALLTYPE CExplorerBand::Load(IStream *pStm=%p)\n", pStm);
456 hr = m_internalPersistStream->Load(pStm);
457 DbgPrint("CExplorerBand::Load returning %08lx\n", hr);
458 return hr;
459 }
460
461 UNIMPLEMENTED;
462 return E_NOTIMPL;
463 }
464
465 HRESULT STDMETHODCALLTYPE CExplorerBand::Save(IStream *pStm, BOOL fClearDirty)
466 {
467 HRESULT hr;
468 if (m_internalPersistStream)
469 {
470 DbgPrint("HRESULT STDMETHODCALLTYPE CExplorerBand::Save(IStream *pStm=%p, BOOL fClearDirty=%s)\n",
471 pStm, fClearDirty ? "TRUE" : "FALSE");
472 hr = m_internalPersistStream->Save(pStm, fClearDirty);
473 DbgPrint("CExplorerBand::Save returning %08lx\n", hr);
474 return hr;
475 }
476
477 UNIMPLEMENTED;
478 return E_NOTIMPL;
479 }
480
481 HRESULT STDMETHODCALLTYPE CExplorerBand::GetSizeMax(ULARGE_INTEGER *pcbSize)
482 {
483 HRESULT hr;
484 if (m_internalPersistStream)
485 {
486 DbgPrint("HRESULT STDMETHODCALLTYPE CExplorerBand::GetSizeMax(ULARGE_INTEGER *pcbSize=%p)\n", pcbSize);
487 hr = m_internalPersistStream->GetSizeMax(pcbSize);
488 if (pcbSize)
489 DbgPrint("\t*pcbSize=%llx\n", pcbSize->QuadPart);
490 DbgPrint("CExplorerBand::GetSizeMax returning %08lx\n", hr);
491 return hr;
492 }
493
494 UNIMPLEMENTED;
495 return E_NOTIMPL;
496 }
497
498
499 // *** IWinEventHandler methods ***
500 HRESULT STDMETHODCALLTYPE CExplorerBand::OnWinEvent(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult)
501 {
502 HRESULT hr;
503 if (m_internalWinEventHandler)
504 {
505 if (m_OnWinEventShown)
506 return m_internalWinEventHandler->OnWinEvent(hWnd, uMsg, wParam, lParam, theResult);
507 m_OnWinEventShown = TRUE;
508
509 DbgPrint("HRESULT STDMETHODCALLTYPE CExplorerBand::OnWinEvent(HWND hWnd=%x, UINT uMsg=%x, WPARAM wParam=%x, LPARAM lParam=%x, LRESULT *theResult=%p)\n",
510 hWnd, uMsg, wParam, lParam, theResult);
511 hr = m_internalWinEventHandler->OnWinEvent(hWnd, uMsg, wParam, lParam, theResult);
512 if (theResult)
513 DbgPrint("\t*theResult=%x\n", *theResult);
514 DbgPrint("CExplorerBand::OnWinEvent returning %08lx\n", hr);
515 return hr;
516 }
517
518 UNIMPLEMENTED;
519 return E_NOTIMPL;
520 }
521
522 HRESULT STDMETHODCALLTYPE CExplorerBand::IsWindowOwner(HWND hWnd)
523 {
524 HRESULT hr;
525 if (m_internalWinEventHandler)
526 {
527 DbgPrint("HRESULT STDMETHODCALLTYPE CExplorerBand::IsWindowOwner(HWND hWnd=%x)\n", hWnd);
528 hr = m_internalWinEventHandler->IsWindowOwner(hWnd);
529 DbgPrint("CExplorerBand::IsWindowOwner returning %08lx\n", hr);
530 return hr;
531 }
532
533 UNIMPLEMENTED;
534 return E_NOTIMPL;
535 }
536
537
538 // *** IBandNavigate methods ***
539 HRESULT STDMETHODCALLTYPE CExplorerBand::Select(long paramC)
540 {
541 HRESULT hr;
542 if (m_internalBandNavigate)
543 {
544 DbgPrint("HRESULT STDMETHODCALLTYPE CExplorerBand::Select(long paramC=%x)\n", paramC);
545 hr = m_internalBandNavigate->Select(paramC);
546 DbgPrint("CExplorerBand::Select returning %08lx\n", hr);
547 return hr;
548 }
549
550 UNIMPLEMENTED;
551 return E_NOTIMPL;
552 }
553
554
555 // *** INamespaceProxy ***
556 HRESULT STDMETHODCALLTYPE CExplorerBand::GetNavigateTarget(long paramC, long param10, long param14)
557 {
558 HRESULT hr;
559 if (m_internalNamespaceProxy)
560 {
561 DbgPrint("HRESULT STDMETHODCALLTYPE CExplorerBand::GetNavigateTarget(long paramC=%08x, long param10=%08x, long param14=%08x)\n",
562 paramC, param10, param14);
563 hr = m_internalNamespaceProxy->GetNavigateTarget(paramC, param10, param14);
564 DbgPrint("CExplorerBand::GetNavigateTarget returning %08lx\n", hr);
565 return hr;
566 }
567
568 UNIMPLEMENTED;
569 return E_NOTIMPL;
570 }
571
572 HRESULT STDMETHODCALLTYPE CExplorerBand::Invoke(long paramC)
573 {
574 HRESULT hr;
575 if (m_internalNamespaceProxy)
576 {
577 DbgPrint("HRESULT STDMETHODCALLTYPE CExplorerBand::Invoke(long paramC=%08x)\n", paramC);
578 hr = m_internalNamespaceProxy->Invoke(paramC);
579 DbgPrint("CExplorerBand::Invoke returning %08lx\n", hr);
580 return hr;
581 }
582
583 UNIMPLEMENTED;
584 return E_NOTIMPL;
585 }
586
587 HRESULT STDMETHODCALLTYPE CExplorerBand::OnSelectionChanged(long paramC)
588 {
589 HRESULT hr;
590 if (m_internalNamespaceProxy)
591 {
592 DbgPrint("HRESULT STDMETHODCALLTYPE CExplorerBand::OnSelectionChanged(long paramC=%08x)\n", paramC);
593 hr = m_internalNamespaceProxy->OnSelectionChanged(paramC);
594 DbgPrint("CExplorerBand::OnSelectionChanged returning %08lx\n", hr);
595 return hr;
596 }
597
598 UNIMPLEMENTED;
599 return E_NOTIMPL;
600 }
601
602 HRESULT STDMETHODCALLTYPE CExplorerBand::RefreshFlags(long paramC, long param10, long param14)
603 {
604 HRESULT hr;
605 if (m_internalNamespaceProxy)
606 {
607 DbgPrint("HRESULT STDMETHODCALLTYPE CExplorerBand::RefreshFlags(long paramC=%08x, long param10=%08x, long param14=%08x)\n",
608 paramC, param10, param14);
609 hr = m_internalNamespaceProxy->RefreshFlags(paramC, param10, param14);
610 DbgPrint("CExplorerBand::RefreshFlags returning %08lx\n", hr);
611 return hr;
612 }
613
614 UNIMPLEMENTED;
615 return E_NOTIMPL;
616 }
617
618 HRESULT STDMETHODCALLTYPE CExplorerBand::CacheItem(long paramC)
619 {
620 HRESULT hr;
621 if (m_internalNamespaceProxy)
622 {
623 DbgPrint("HRESULT STDMETHODCALLTYPE CExplorerBand::CacheItem(long paramC=%08x)\n", paramC);
624 hr = m_internalNamespaceProxy->CacheItem(paramC);
625 DbgPrint("CExplorerBand::CacheItem returning %08lx\n", hr);
626 return hr;
627 }
628
629 UNIMPLEMENTED;
630 return E_NOTIMPL;
631 }
632
633
634 // *** IDispatch methods ***
635 HRESULT STDMETHODCALLTYPE CExplorerBand::GetTypeInfoCount(UINT *pctinfo)
636 {
637 HRESULT hr;
638 if (m_internalDispatch)
639 {
640 DbgPrint("HRESULT STDMETHODCALLTYPE CExplorerBand::GetTypeInfoCount(UINT *pctinfo=%p)\n", pctinfo);
641 hr = m_internalDispatch->GetTypeInfoCount(pctinfo);
642 if (pctinfo)
643 DbgPrint("\t*pctinfo=%08x\n", *pctinfo);
644 DbgPrint("CExplorerBand::GetTypeInfoCount returning %08lx\n", hr);
645 return hr;
646 }
647
648 UNIMPLEMENTED;
649 return E_NOTIMPL;
650 }
651
652 HRESULT STDMETHODCALLTYPE CExplorerBand::GetTypeInfo(UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
653 {
654 HRESULT hr;
655 if (m_internalDispatch)
656 {
657 DbgPrint("HRESULT STDMETHODCALLTYPE CExplorerBand::GetTypeInfo(UINT iTInfo=%u, LCID lcid=%08x, ITypeInfo **ppTInfo=%p)\n",
658 iTInfo, lcid, ppTInfo);
659 hr = m_internalDispatch->GetTypeInfo(iTInfo, lcid, ppTInfo);
660 if (ppTInfo)
661 DbgPrint("\t*ppTInfo=%08x\n", *ppTInfo);
662 DbgPrint("CExplorerBand::GetTypeInfo returning %08lx\n", hr);
663 return hr;
664 }
665
666 UNIMPLEMENTED;
667 return E_NOTIMPL;
668 }
669
670 HRESULT STDMETHODCALLTYPE CExplorerBand::GetIDsOfNames(REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
671 {
672 HRESULT hr;
673 if (m_internalDispatch)
674 {
675 DbgPrint("HRESULT STDMETHODCALLTYPE CExplorerBand::GetIDsOfNames(REFIID riid=%s, LPOLESTR *rgszNames=%S, UINT cNames=%u, LCID lcid=%08x, DISPID *rgDispId=%p)\n",
676 wine_dbgstr_guid(&riid), rgszNames, cNames, lcid, rgDispId);
677 hr = m_internalDispatch->GetIDsOfNames(riid, rgszNames, cNames, lcid, rgDispId);
678 if (rgDispId && SUCCEEDED(hr))
679 {
680 for (UINT i = 0; i < cNames; i++)
681 {
682 DbgPrint("\trgDispId[%d]=%08x\n", rgDispId[i]);
683 }
684 }
685 DbgPrint("CExplorerBand::GetTypeInfo returning %08lx\n", hr);
686 return hr;
687 }
688
689 UNIMPLEMENTED;
690 return E_NOTIMPL;
691 }
692
693 HRESULT STDMETHODCALLTYPE CExplorerBand::Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
694 {
695 UNIMPLEMENTED;
696 return E_NOTIMPL;
697 }
698