#include "precomp.h"
-extern DWORD WINAPI BrowserThreadProc(LPVOID lpThreadParameter);
-
/*************************************************************************
* InitOCHostClass [BROWSEUI.101]
*/
// forwards to shdocvw
}
-/*************************************************************************
- * SHOpenFolderWindow [BROWSEUI.102]
- */
-extern "C" long WINAPI SHOpenFolderWindow(IEThreadParamBlock *param8)
-{
- return 0;
-}
-
/*************************************************************************
* SHCreateSavedWindows [BROWSEUI.105]
* Called to recreate explorer windows from previous session
{
}
-/*************************************************************************
- * SHCreateFromDesktop [BROWSEUI.106]
- * parameter is a FolderInfo
- */
-extern "C" long WINAPI SHCreateFromDesktop(long param8)
-{
- return -1;
-}
-
/*************************************************************************
* SHExplorerParseCmdLine [BROWSEUI.107]
*/
-extern "C" long WINAPI SHExplorerParseCmdLine(LPCTSTR commandLine)
-{
- return -1;
-}
+/****** MOVED TO parsecmdline.cpp ******/
/*************************************************************************
* UEMRegisterNotify [BROWSEUI.118]
return -1;
}
-/*************************************************************************
- * SHCreateIETHREADPARAM [BROWSEUI.123]
- */
-extern "C" IEThreadParamBlock *WINAPI SHCreateIETHREADPARAM(
- long param8, long paramC, IUnknown *param10, IUnknown *param14)
-{
- IEThreadParamBlock *result;
-
- result = (IEThreadParamBlock *)LocalAlloc(LMEM_ZEROINIT, 256);
- if (result == NULL)
- return NULL;
- result->offset0 = param8;
- result->offset8 = paramC;
- result->offsetC = param10;
- if (param10 != NULL)
- param10->AddRef();
- result->offset14 = param14;
- if (param14 != NULL)
- param14->AddRef();
- return result;
-}
-
-/*************************************************************************
- * SHCloneIETHREADPARAM [BROWSEUI.124]
- */
-extern "C" IEThreadParamBlock *WINAPI SHCloneIETHREADPARAM(IEThreadParamBlock *param)
-{
- IEThreadParamBlock *result;
-
- result = (IEThreadParamBlock *)LocalAlloc(LMEM_FIXED, 256);
- if (result == NULL)
- return NULL;
- memcpy(result, param, 0x40 * 4);
- if (result->directoryPIDL != NULL)
- result->directoryPIDL = ILClone(result->directoryPIDL);
- if (result->offset7C != NULL)
- result->offset7C = ILClone(result->offset7C);
- if (result->offset80 != NULL)
- result->offset80 = ILClone(result->offset80);
- if (result->offset70 != NULL)
- result->offset70->AddRef();
-#if 0
- if (result->offsetC != NULL)
- result->offsetC->Method2C();
-#endif
- return result;
-}
-
/*************************************************************************
* SHParseIECommandLine [BROWSEUI.125]
*/
return -1;
}
-/*************************************************************************
- * SHDestroyIETHREADPARAM [BROWSEUI.126]
- */
-extern "C" void WINAPI SHDestroyIETHREADPARAM(IEThreadParamBlock *param)
-{
- if (param == NULL)
- return;
- if (param->directoryPIDL != NULL)
- ILFree(param->directoryPIDL);
- if (param->offset7C != NULL)
- ILFree(param->offset7C);
- if ((param->offset4 & 0x80000) == 0 && param->offset80 != NULL)
- ILFree(param->offset80);
- if (param->offset14 != NULL)
- param->offset14->Release();
- if (param->offset70 != NULL)
- param->offset70->Release();
- if (param->offset78 != NULL)
- param->offset78->Release();
- if (param->offsetC != NULL)
- param->offsetC->Release();
- if (param->offsetF8 != NULL)
- param->offsetF8->Release();
- LocalFree(param);
-}
-
-/*************************************************************************
- * SHOnCWMCommandLine [BROWSEUI.127]
- */
-extern "C" HRESULT WINAPI SHOnCWMCommandLine(long param8)
-{
- return E_NOTIMPL;
-}
-
/*************************************************************************
* Channel_GetFolderPidl [BROWSEUI.128]
*/
{
return TRUE;
}
-
-// 75FA56C1h
-// (pidl, 0, -1, 1)
-// this function should handle creating a new process if needed, but I'm leaving that out for now
-// this function always opens a new window - it does NOT check for duplicates
-/*************************************************************************
- * SHOpenNewFrame [BROWSEUI.103]
- */
-extern "C" HRESULT WINAPI SHOpenNewFrame(LPITEMIDLIST pidl, IUnknown *paramC, long param10, long param14)
-{
- IEThreadParamBlock *parameters;
- HANDLE threadHandle;
- DWORD threadID;
-
- parameters = SHCreateIETHREADPARAM(0, 1, paramC, NULL);
- if (parameters == NULL)
- {
- ILFree(pidl);
- return E_OUTOFMEMORY;
- }
- if (paramC != NULL)
- parameters->offset10 = param10;
- parameters->directoryPIDL = pidl;
- parameters->offset4 = param14;
- threadHandle = CreateThread(NULL, 0x10000, BrowserThreadProc, parameters, 0, &threadID);
- if (threadHandle != NULL)
- {
- CloseHandle(threadHandle);
- return S_OK;
- }
- SHDestroyIETHREADPARAM(parameters);
- return E_FAIL;
-}