mirror of
https://github.com/reactos/reactos.git
synced 2025-06-16 19:38:30 +00:00
Autosyncing with Wine HEAD
svn path=/trunk/; revision=32843
This commit is contained in:
parent
7557cf6102
commit
9adffe12c6
5 changed files with 121 additions and 11 deletions
|
@ -63,7 +63,7 @@ static HRESULT WINAPI ExtServUnk_QueryInterface(IUnknown *iface, REFIID riid, vo
|
||||||
}
|
}
|
||||||
|
|
||||||
if(*ppv) {
|
if(*ppv) {
|
||||||
IUnknown_AddRef(EXTSERVUNK(This));
|
IUnknown_AddRef((IUnknown*)*ppv);
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -209,6 +209,9 @@ static const IHttpNegotiateVtbl HttpNegotiateVtbl = {
|
||||||
HttpNegotiate_OnResponse
|
HttpNegotiate_OnResponse
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* HlinkCreateExtensionServices (HLINK.@)
|
||||||
|
*/
|
||||||
HRESULT WINAPI HlinkCreateExtensionServices(LPCWSTR pwzAdditionalHeaders,
|
HRESULT WINAPI HlinkCreateExtensionServices(LPCWSTR pwzAdditionalHeaders,
|
||||||
HWND phwnd, LPCWSTR pszUsername, LPCWSTR pszPassword,
|
HWND phwnd, LPCWSTR pszUsername, LPCWSTR pszPassword,
|
||||||
IUnknown *punkOuter, REFIID riid, void** ppv)
|
IUnknown *punkOuter, REFIID riid, void** ppv)
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
|
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
|
||||||
|
<group>
|
||||||
<module name="hlink" type="win32dll" baseaddress="${BASEADDRESS_HLINK}" installbase="system32" installname="hlink.dll" allowwarnings="true">
|
<module name="hlink" type="win32dll" baseaddress="${BASEADDRESS_HLINK}" installbase="system32" installname="hlink.dll" allowwarnings="true">
|
||||||
<autoregister infsection="OleControlDlls" type="DllRegisterServer" />
|
<autoregister infsection="OleControlDlls" type="DllRegisterServer" />
|
||||||
<importlibrary definition="hlink.spec.def" />
|
<importlibrary definition="hlink.spec.def" />
|
||||||
|
@ -8,6 +9,11 @@
|
||||||
<define name="__WINESRC__" />
|
<define name="__WINESRC__" />
|
||||||
<define name="WINVER">0x600</define>
|
<define name="WINVER">0x600</define>
|
||||||
<define name="_WIN32_WINNT">0x600</define>
|
<define name="_WIN32_WINNT">0x600</define>
|
||||||
|
<file>browse_ctx.c</file>
|
||||||
|
<file>extserv.c</file>
|
||||||
|
<file>hlink_main.c</file>
|
||||||
|
<file>link.c</file>
|
||||||
|
<file>hlink.spec</file>
|
||||||
<library>wine</library>
|
<library>wine</library>
|
||||||
<library>shell32</library>
|
<library>shell32</library>
|
||||||
<library>ole32</library>
|
<library>ole32</library>
|
||||||
|
@ -16,9 +22,5 @@
|
||||||
<library>urlmon</library>
|
<library>urlmon</library>
|
||||||
<library>uuid</library>
|
<library>uuid</library>
|
||||||
<library>ntdll</library>
|
<library>ntdll</library>
|
||||||
<file>browse_ctx.c</file>
|
|
||||||
<file>extserv.c</file>
|
|
||||||
<file>hlink_main.c</file>
|
|
||||||
<file>link.c</file>
|
|
||||||
<file>hlink.spec</file>
|
|
||||||
</module>
|
</module>
|
||||||
|
</group>
|
||||||
|
|
|
@ -8,10 +8,10 @@
|
||||||
10 stdcall HlinkNavigate(ptr ptr long ptr ptr ptr)
|
10 stdcall HlinkNavigate(ptr ptr long ptr ptr ptr)
|
||||||
11 stdcall HlinkUpdateStackItem(ptr ptr long ptr wstr wstr)
|
11 stdcall HlinkUpdateStackItem(ptr ptr long ptr wstr wstr)
|
||||||
12 stub HlinkOnRenameDocument
|
12 stub HlinkOnRenameDocument
|
||||||
14 stub HlinkResolveMonikerForData
|
14 stdcall HlinkResolveMonikerForData(ptr long ptr long ptr ptr ptr)
|
||||||
15 stub HlinkResolveStringForData
|
15 stub HlinkResolveStringForData
|
||||||
16 stub OleSaveToStreamEx
|
16 stub OleSaveToStreamEx
|
||||||
18 stub HlinkParseDisplayName
|
18 stdcall HlinkParseDisplayName(ptr wstr long ptr ptr)
|
||||||
20 stdcall HlinkQueryCreateFromData(ptr)
|
20 stdcall HlinkQueryCreateFromData(ptr)
|
||||||
21 stub HlinkSetSpecialReference
|
21 stub HlinkSetSpecialReference
|
||||||
22 stdcall HlinkGetSpecialReference(long ptr)
|
22 stdcall HlinkGetSpecialReference(long ptr)
|
||||||
|
|
|
@ -41,8 +41,6 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
|
||||||
|
|
||||||
switch (fdwReason)
|
switch (fdwReason)
|
||||||
{
|
{
|
||||||
case DLL_WINE_PREATTACH:
|
|
||||||
return FALSE; /* prefer native version */
|
|
||||||
case DLL_PROCESS_ATTACH:
|
case DLL_PROCESS_ATTACH:
|
||||||
DisableThreadLibraryCalls(hinstDLL);
|
DisableThreadLibraryCalls(hinstDLL);
|
||||||
break;
|
break;
|
||||||
|
@ -52,12 +50,18 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* DllCanUnloadNow (HLINK.@)
|
||||||
|
*/
|
||||||
HRESULT WINAPI DllCanUnloadNow( void )
|
HRESULT WINAPI DllCanUnloadNow( void )
|
||||||
{
|
{
|
||||||
FIXME("\n");
|
FIXME("\n");
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* HlinkCreateFromMoniker (HLINK.@)
|
||||||
|
*/
|
||||||
HRESULT WINAPI HlinkCreateFromMoniker( IMoniker *pimkTrgt, LPCWSTR pwzLocation,
|
HRESULT WINAPI HlinkCreateFromMoniker( IMoniker *pimkTrgt, LPCWSTR pwzLocation,
|
||||||
LPCWSTR pwzFriendlyName, IHlinkSite* pihlsite, DWORD dwSiteData,
|
LPCWSTR pwzFriendlyName, IHlinkSite* pihlsite, DWORD dwSiteData,
|
||||||
IUnknown* piunkOuter, REFIID riid, void** ppvObj)
|
IUnknown* piunkOuter, REFIID riid, void** ppvObj)
|
||||||
|
@ -89,6 +93,9 @@ HRESULT WINAPI HlinkCreateFromMoniker( IMoniker *pimkTrgt, LPCWSTR pwzLocation,
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* HlinkCreateFromString (HLINK.@)
|
||||||
|
*/
|
||||||
HRESULT WINAPI HlinkCreateFromString( LPCWSTR pwzTarget, LPCWSTR pwzLocation,
|
HRESULT WINAPI HlinkCreateFromString( LPCWSTR pwzTarget, LPCWSTR pwzLocation,
|
||||||
LPCWSTR pwzFriendlyName, IHlinkSite* pihlsite, DWORD dwSiteData,
|
LPCWSTR pwzFriendlyName, IHlinkSite* pihlsite, DWORD dwSiteData,
|
||||||
IUnknown* piunkOuter, REFIID riid, void** ppvObj)
|
IUnknown* piunkOuter, REFIID riid, void** ppvObj)
|
||||||
|
@ -151,6 +158,9 @@ HRESULT WINAPI HlinkCreateFromString( LPCWSTR pwzTarget, LPCWSTR pwzLocation,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* HlinkNavigate (HLINK.@)
|
||||||
|
*/
|
||||||
HRESULT WINAPI HlinkCreateBrowseContext( IUnknown* piunkOuter, REFIID riid, void** ppvObj)
|
HRESULT WINAPI HlinkCreateBrowseContext( IUnknown* piunkOuter, REFIID riid, void** ppvObj)
|
||||||
{
|
{
|
||||||
HRESULT r = S_OK;
|
HRESULT r = S_OK;
|
||||||
|
@ -164,6 +174,9 @@ HRESULT WINAPI HlinkCreateBrowseContext( IUnknown* piunkOuter, REFIID riid, void
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* HlinkNavigate (HLINK.@)
|
||||||
|
*/
|
||||||
HRESULT WINAPI HlinkNavigate(IHlink *phl, IHlinkFrame *phlFrame,
|
HRESULT WINAPI HlinkNavigate(IHlink *phl, IHlinkFrame *phlFrame,
|
||||||
DWORD grfHLNF, LPBC pbc, IBindStatusCallback *pbsc,
|
DWORD grfHLNF, LPBC pbc, IBindStatusCallback *pbsc,
|
||||||
IHlinkBrowseContext *phlbc)
|
IHlinkBrowseContext *phlbc)
|
||||||
|
@ -180,6 +193,9 @@ HRESULT WINAPI HlinkNavigate(IHlink *phl, IHlinkFrame *phlFrame,
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* HlinkOnNavigate (HLINK.@)
|
||||||
|
*/
|
||||||
HRESULT WINAPI HlinkOnNavigate( IHlinkFrame *phlFrame,
|
HRESULT WINAPI HlinkOnNavigate( IHlinkFrame *phlFrame,
|
||||||
IHlinkBrowseContext* phlbc, DWORD grfHLNF, IMoniker *pmkTarget,
|
IHlinkBrowseContext* phlbc, DWORD grfHLNF, IMoniker *pmkTarget,
|
||||||
LPCWSTR pwzLocation, LPCWSTR pwzFriendlyName, ULONG* puHLID)
|
LPCWSTR pwzLocation, LPCWSTR pwzFriendlyName, ULONG* puHLID)
|
||||||
|
@ -199,6 +215,9 @@ HRESULT WINAPI HlinkOnNavigate( IHlinkFrame *phlFrame,
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* HlinkCreateFromData (HLINK.@)
|
||||||
|
*/
|
||||||
HRESULT WINAPI HlinkCreateFromData(IDataObject *piDataObj,
|
HRESULT WINAPI HlinkCreateFromData(IDataObject *piDataObj,
|
||||||
IHlinkSite *pihlsite, DWORD dwSiteData, IUnknown *piunkOuter,
|
IHlinkSite *pihlsite, DWORD dwSiteData, IUnknown *piunkOuter,
|
||||||
REFIID riid, void **ppvObj)
|
REFIID riid, void **ppvObj)
|
||||||
|
@ -209,12 +228,18 @@ HRESULT WINAPI HlinkCreateFromData(IDataObject *piDataObj,
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* HlinkQueryCreateFromData (HLINK.@)
|
||||||
|
*/
|
||||||
HRESULT WINAPI HlinkQueryCreateFromData(IDataObject* piDataObj)
|
HRESULT WINAPI HlinkQueryCreateFromData(IDataObject* piDataObj)
|
||||||
{
|
{
|
||||||
FIXME("%p\n", piDataObj);
|
FIXME("%p\n", piDataObj);
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* HlinkNavigateToStringReference (HLINK.@)
|
||||||
|
*/
|
||||||
HRESULT WINAPI HlinkNavigateToStringReference( LPCWSTR pwzTarget,
|
HRESULT WINAPI HlinkNavigateToStringReference( LPCWSTR pwzTarget,
|
||||||
LPCWSTR pwzLocation, IHlinkSite *pihlsite, DWORD dwSiteData,
|
LPCWSTR pwzLocation, IHlinkSite *pihlsite, DWORD dwSiteData,
|
||||||
IHlinkFrame *pihlframe, DWORD grfHLNF, LPBC pibc,
|
IHlinkFrame *pihlframe, DWORD grfHLNF, LPBC pibc,
|
||||||
|
@ -235,6 +260,9 @@ HRESULT WINAPI HlinkNavigateToStringReference( LPCWSTR pwzTarget,
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* HlinkIsShortcut (HLINK.@)
|
||||||
|
*/
|
||||||
HRESULT WINAPI HlinkIsShortcut(LPCWSTR pwzFileName)
|
HRESULT WINAPI HlinkIsShortcut(LPCWSTR pwzFileName)
|
||||||
{
|
{
|
||||||
int len;
|
int len;
|
||||||
|
@ -253,6 +281,9 @@ HRESULT WINAPI HlinkIsShortcut(LPCWSTR pwzFileName)
|
||||||
return strcmpiW(pwzFileName+len, url_ext) ? S_FALSE : S_OK;
|
return strcmpiW(pwzFileName+len, url_ext) ? S_FALSE : S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* HlinkGetSpecialReference (HLINK.@)
|
||||||
|
*/
|
||||||
HRESULT WINAPI HlinkGetSpecialReference(ULONG uReference, LPWSTR *ppwzReference)
|
HRESULT WINAPI HlinkGetSpecialReference(ULONG uReference, LPWSTR *ppwzReference)
|
||||||
{
|
{
|
||||||
DWORD res, type, size = 100;
|
DWORD res, type, size = 100;
|
||||||
|
@ -308,12 +339,18 @@ HRESULT WINAPI HlinkGetSpecialReference(ULONG uReference, LPWSTR *ppwzReference)
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* HlinkTranslateURL (HLINK.@)
|
||||||
|
*/
|
||||||
HRESULT WINAPI HlinkTranslateURL(LPCWSTR pwzURL, DWORD grfFlags, LPWSTR *ppwzTranslatedURL)
|
HRESULT WINAPI HlinkTranslateURL(LPCWSTR pwzURL, DWORD grfFlags, LPWSTR *ppwzTranslatedURL)
|
||||||
{
|
{
|
||||||
FIXME("(%s %08x %p)\n", debugstr_w(pwzURL), grfFlags, ppwzTranslatedURL);
|
FIXME("(%s %08x %p)\n", debugstr_w(pwzURL), grfFlags, ppwzTranslatedURL);
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* HlinkUpdateStackItem (HLINK.@)
|
||||||
|
*/
|
||||||
HRESULT WINAPI HlinkUpdateStackItem(IHlinkFrame *pihlframe, IHlinkBrowseContext *pihlbc,
|
HRESULT WINAPI HlinkUpdateStackItem(IHlinkFrame *pihlframe, IHlinkBrowseContext *pihlbc,
|
||||||
ULONG uHLID, IMoniker *pimkTrgt, LPCWSTR pwzLocation, LPCWSTR pwzFriendlyName)
|
ULONG uHLID, IMoniker *pimkTrgt, LPCWSTR pwzLocation, LPCWSTR pwzFriendlyName)
|
||||||
{
|
{
|
||||||
|
@ -322,6 +359,71 @@ HRESULT WINAPI HlinkUpdateStackItem(IHlinkFrame *pihlframe, IHlinkBrowseContext
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* HlinkParseDisplayName (HLINK.@)
|
||||||
|
*/
|
||||||
|
HRESULT WINAPI HlinkParseDisplayName(LPBC pibc, LPCWSTR pwzDisplayName, BOOL fNoForceAbs,
|
||||||
|
ULONG *pcchEaten, IMoniker **ppimk)
|
||||||
|
{
|
||||||
|
HRESULT hres;
|
||||||
|
|
||||||
|
TRACE("(%p %s %x %p %p)\n", pibc, debugstr_w(pwzDisplayName), fNoForceAbs, pcchEaten, ppimk);
|
||||||
|
|
||||||
|
if(fNoForceAbs)
|
||||||
|
FIXME("Unsupported fNoForceAbs\n");
|
||||||
|
|
||||||
|
hres = MkParseDisplayNameEx(pibc, pwzDisplayName, pcchEaten, ppimk);
|
||||||
|
if(SUCCEEDED(hres))
|
||||||
|
return hres;
|
||||||
|
|
||||||
|
hres = MkParseDisplayName(pibc, pwzDisplayName, pcchEaten, ppimk);
|
||||||
|
if(SUCCEEDED(hres))
|
||||||
|
return hres;
|
||||||
|
|
||||||
|
hres = CreateFileMoniker(pwzDisplayName, ppimk);
|
||||||
|
if(SUCCEEDED(hres))
|
||||||
|
*pcchEaten = strlenW(pwzDisplayName);
|
||||||
|
|
||||||
|
return hres;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* HlinkResolveMonikerForData (HLINK.@)
|
||||||
|
*/
|
||||||
|
HRESULT WINAPI HlinkResolveMonikerForData(LPMONIKER pimkReference, DWORD reserved, LPBC pibc,
|
||||||
|
ULONG cFmtetc, FORMATETC *rgFmtetc, IBindStatusCallback *pibsc, LPMONIKER pimkBase)
|
||||||
|
{
|
||||||
|
LPOLESTR name = NULL;
|
||||||
|
IBindCtx *bctx;
|
||||||
|
DWORD mksys = 0;
|
||||||
|
void *obj = NULL;
|
||||||
|
HRESULT hres;
|
||||||
|
|
||||||
|
TRACE("(%p %x %p %d %p %p %p)\n", pimkReference, reserved, pibc, cFmtetc, rgFmtetc, pibsc, pimkBase);
|
||||||
|
|
||||||
|
if(cFmtetc || rgFmtetc || pimkBase)
|
||||||
|
FIXME("Unsupported args\n");
|
||||||
|
|
||||||
|
hres = RegisterBindStatusCallback(pibc, pibsc, NULL /* FIXME */, 0);
|
||||||
|
if(FAILED(hres))
|
||||||
|
return hres;
|
||||||
|
|
||||||
|
hres = IMoniker_IsSystemMoniker(pimkReference, &mksys);
|
||||||
|
if(SUCCEEDED(hres) && mksys != MKSYS_URLMONIKER)
|
||||||
|
WARN("sysmk = %x\n", mksys);
|
||||||
|
|
||||||
|
/* FIXME: What is it for? */
|
||||||
|
CreateBindCtx(0, &bctx);
|
||||||
|
hres = IMoniker_GetDisplayName(pimkReference, bctx, NULL, &name);
|
||||||
|
IBindCtx_Release(bctx);
|
||||||
|
if(SUCCEEDED(hres)) {
|
||||||
|
TRACE("got display name %s\n", debugstr_w(name));
|
||||||
|
CoTaskMemFree(name);
|
||||||
|
}
|
||||||
|
|
||||||
|
return IMoniker_BindToStorage(pimkReference, pibc, NULL, &IID_IUnknown, &obj);
|
||||||
|
}
|
||||||
|
|
||||||
static HRESULT WINAPI HLinkCF_fnQueryInterface ( LPCLASSFACTORY iface,
|
static HRESULT WINAPI HLinkCF_fnQueryInterface ( LPCLASSFACTORY iface,
|
||||||
REFIID riid, LPVOID *ppvObj)
|
REFIID riid, LPVOID *ppvObj)
|
||||||
{
|
{
|
||||||
|
@ -435,6 +537,9 @@ static HRESULT register_clsid(LPCGUID guid)
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* DllRegisterServer (HLINK.@)
|
||||||
|
*/
|
||||||
HRESULT WINAPI DllRegisterServer(void)
|
HRESULT WINAPI DllRegisterServer(void)
|
||||||
{
|
{
|
||||||
HRESULT r;
|
HRESULT r;
|
||||||
|
|
|
@ -602,7 +602,7 @@ static HRESULT WINAPI IPersistStream_fnGetClassID(IPersistStream* iface,
|
||||||
{
|
{
|
||||||
HlinkImpl *This = HlinkImpl_from_IPersistStream(iface);
|
HlinkImpl *This = HlinkImpl_from_IPersistStream(iface);
|
||||||
TRACE("(%p)\n", This);
|
TRACE("(%p)\n", This);
|
||||||
memcpy(pClassID, &CLSID_StdHlink, sizeof(CLSID));
|
*pClassID = CLSID_StdHlink;
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue