DllGetVersion (not yet exported).

Small change to SHAppBarMessage.
oldstable
Juergen Schmied 1999-04-01 10:20:31 +00:00 committed by Alexandre Julliard
parent 981bc9878d
commit 2f5c561765
2 changed files with 75 additions and 25 deletions

View File

@ -17,6 +17,7 @@
#include "debug.h"
#include "winreg.h"
#include "authors.h"
#include "winversion.h"
#include "shell.h"
#include "shellapi.h"
@ -356,23 +357,31 @@ static BOOL __get_dropline( HWND hWnd, LPRECT lprect )
* SHAppBarMessage32 [SHELL32.207]
*/
UINT WINAPI SHAppBarMessage(DWORD msg, PAPPBARDATA data)
{ FIXME(shell,"(0x%08lx,%p): stub\n", msg, data);
#if 0
switch (msg)
{ case ABM_ACTIVATE:
case ABM_GETAUTOHIDEBAR:
case ABM_GETSTATE:
case ABM_GETTASKBARPOS:
case ABM_NEW:
case ABM_QUERYPOS:
case ABM_REMOVE:
case ABM_SETAUTOHIDEBAR:
case ABM_SETPOS:
case ABM_WINDOWPOSCHANGED:
;
}
#endif
return 0;
{
FIXME(shell,"(0x%08lx,%p hwnd=0x%08x): stub\n", msg, data, data->hWnd);
switch (msg)
{ case ABM_GETSTATE:
return ABS_ALWAYSONTOP | ABS_AUTOHIDE;
case ABM_GETTASKBARPOS:
/* fake a taskbar on the bottom of the desktop */
{ RECT rec;
GetWindowRect(GetDesktopWindow(), &rec);
rec.left = 0;
rec.top = rec.bottom - 2;
}
return TRUE;
case ABM_ACTIVATE:
case ABM_GETAUTOHIDEBAR:
case ABM_NEW:
case ABM_QUERYPOS:
case ABM_REMOVE:
case ABM_SETAUTOHIDEBAR:
case ABM_SETPOS:
case ABM_WINDOWPOSCHANGED:
return FALSE;
}
return 0;
}
@ -419,14 +428,6 @@ DWORD WINAPI SHGetDesktopFolder(LPSHELLFOLDER *shellfolder)
return hres;
}
/*************************************************************************
* SHGetPathFromIDList [SHELL32.221][NT 4.0: SHELL32.219]
*/
BOOL WINAPI SHGetPathFromIDListAW(LPCITEMIDLIST pidl,LPSTR pszPath)
{ TRACE(shell,"(pidl=%p,%p)\n",pidl,pszPath);
return SHGetPathFromIDListA(pidl,pszPath);
}
/*************************************************************************
* SHGetSpecialFolderLocation [SHELL32.223]
*
@ -989,6 +990,52 @@ DWORD WINAPI SHGetPathFromIDListW (LPCITEMIDLIST pidl,LPWSTR pszPath)
return TRUE;
}
/*************************************************************************
* SHGetPathFromIDListAW [SHELL32.221][NT 4.0: SHELL32.219]
*/
BOOL WINAPI SHGetPathFromIDListAW(LPCITEMIDLIST pidl,LPVOID pszPath)
{
TRACE(shell,"(pidl=%p,%p)\n",pidl,pszPath);
if (VERSION_OsIsUnicode())
return SHGetPathFromIDListW(pidl,pszPath);
return SHGetPathFromIDListA(pidl,pszPath);
}
/***********************************************************************
* DllGetVersion [COMCTL32.25]
*
* Retrieves version information of the 'SHELL32.DLL'
*
* PARAMS
* pdvi [O] pointer to version information structure.
*
* RETURNS
* Success: S_OK
* Failure: E_INVALIDARG
*
* NOTES
* Returns version of a shell32.dll from IE4.01 SP1.
*/
HRESULT WINAPI SHELL32_DllGetVersion (DLLVERSIONINFO *pdvi)
{
if (pdvi->cbSize != sizeof(DLLVERSIONINFO))
{ WARN (shell, "wrong DLLVERSIONINFO size from app");
return E_INVALIDARG;
}
pdvi->dwMajorVersion = 4;
pdvi->dwMinorVersion = 72;
pdvi->dwBuildNumber = 3110;
pdvi->dwPlatformID = 1;
TRACE (shell, "%lu.%lu.%lu.%lu\n",
pdvi->dwMajorVersion, pdvi->dwMinorVersion,
pdvi->dwBuildNumber, pdvi->dwPlatformID);
return S_OK;
}
/*************************************************************************
* global variables of the shell32.dll
*
@ -1089,6 +1136,8 @@ BOOL WINAPI Shell32LibMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad)
{ pdesktopfolder->lpvtbl->fnRelease(pdesktopfolder);
}
SIC_Destroy();
/* this one is here to check if AddRef/Release is balanced */
if (shell32_ObjCount)
{ WARN(shell,"leaving with %u objects left (memory leak)\n", shell32_ObjCount);

View File

@ -53,6 +53,7 @@ LPITEMIDLIST WINAPI ILGetNext(LPITEMIDLIST pidl);
LPITEMIDLIST WINAPI ILCombine(LPCITEMIDLIST iil1,LPCITEMIDLIST iil2);
LPITEMIDLIST WINAPI ILFindLastID(LPITEMIDLIST pidl);
DWORD WINAPI ILGetSize(LPITEMIDLIST pidl);
BOOL WINAPI ILGetDisplayName(LPCITEMIDLIST pidl,LPSTR path);
HRESULT WINAPI SHILCreateFromPathA (LPSTR path, LPITEMIDLIST * ppidl, DWORD attributes);
HRESULT WINAPI SHILCreateFromPathW (LPWSTR path, LPITEMIDLIST * ppidl, DWORD attributes);