- mostly cleanup after the renaming
- implemented SHILCreateFromPath - small changed to SHGetFileInfo
This commit is contained in:
parent
dbf9fba460
commit
dd153f1727
|
@ -434,6 +434,7 @@ typedef struct
|
|||
|
||||
/*****************************************************************************
|
||||
* SIC_CompareEntrys [called by comctl32.dll]
|
||||
*
|
||||
* NOTES
|
||||
* Callback for DPA_Search
|
||||
*/
|
||||
|
@ -449,7 +450,8 @@ INT CALLBACK SIC_CompareEntrys( LPVOID p1, LPVOID p2, LPARAM lparam)
|
|||
return 0;
|
||||
}
|
||||
/*****************************************************************************
|
||||
* SIC_IconAppend (internal)
|
||||
* SIC_IconAppend [internal]
|
||||
*
|
||||
* NOTES
|
||||
* appends a icon pair to the end of the cache
|
||||
*/
|
||||
|
@ -483,6 +485,7 @@ static INT SIC_IconAppend (LPCSTR sSourceFile, INT dwSourceIndex, HICON hSmallIc
|
|||
}
|
||||
/****************************************************************************
|
||||
* SIC_LoadIcon [internal]
|
||||
*
|
||||
* NOTES
|
||||
* gets small/big icon by number from a file
|
||||
*/
|
||||
|
@ -502,6 +505,7 @@ static INT SIC_LoadIcon (LPCSTR sSourceFile, INT dwSourceIndex)
|
|||
}
|
||||
/*****************************************************************************
|
||||
* SIC_GetIconIndex [internal]
|
||||
*
|
||||
* NOTES
|
||||
* look in the cache for a proper icon. if not available the icon is taken
|
||||
* from the file and cached
|
||||
|
@ -528,6 +532,7 @@ INT SIC_GetIconIndex (LPCSTR sSourceFile, INT dwSourceIndex )
|
|||
}
|
||||
/****************************************************************************
|
||||
* SIC_LoadIcon [internal]
|
||||
*
|
||||
* NOTES
|
||||
* retrives the specified icon from the iconcache. if not found try's to load the icon
|
||||
*/
|
||||
|
@ -548,6 +553,7 @@ static HICON SIC_GetIcon (LPCSTR sSourceFile, INT dwSourceIndex, BOOL bSmallIcon
|
|||
}
|
||||
/*****************************************************************************
|
||||
* SIC_Initialize [internal]
|
||||
*
|
||||
* NOTES
|
||||
* hack to load the resources from the shell32.dll under a different dll name
|
||||
* will be removed when the resource-compiler is ready
|
||||
|
@ -705,7 +711,7 @@ INT WINAPI Shell_GetCachedImageIndexAW(LPCVOID szPath, INT nIndex, DWORD z)
|
|||
}
|
||||
|
||||
/*************************************************************************
|
||||
* ExtracticonEx32 [shell32.189]
|
||||
* ExtracticonExAW [shell32.189]
|
||||
*/
|
||||
HICON WINAPI ExtractIconExAW ( LPCVOID lpszFile, INT nIconIndex, HICON * phiconLarge, HICON * phiconSmall, UINT nIcons )
|
||||
{ if (VERSION_OsIsUnicode())
|
||||
|
@ -713,11 +719,11 @@ HICON WINAPI ExtractIconExAW ( LPCVOID lpszFile, INT nIconIndex, HICON * phiconL
|
|||
return ExtractIconExA ( lpszFile, nIconIndex, phiconLarge, phiconSmall, nIcons);
|
||||
}
|
||||
/*************************************************************************
|
||||
* ExtracticonEx32A [shell32.190]
|
||||
* ExtracticonExA [shell32.190]
|
||||
* RETURNS
|
||||
* 0 no icon found
|
||||
* 1 file is not valid
|
||||
* HICON32 handle of a icon (phiconLarge/Small == NULL)
|
||||
* HICON handle of a icon (phiconLarge/Small == NULL)
|
||||
*/
|
||||
HICON WINAPI ExtractIconExA ( LPCSTR lpszFile, INT nIconIndex, HICON * phiconLarge, HICON * phiconSmall, UINT nIcons )
|
||||
{ HICON ret=0;
|
||||
|
@ -749,7 +755,7 @@ HICON WINAPI ExtractIconExA ( LPCSTR lpszFile, INT nIconIndex, HICON * phiconLar
|
|||
return ret;
|
||||
}
|
||||
/*************************************************************************
|
||||
* ExtracticonEx32W [shell32.191]
|
||||
* ExtracticonExW [shell32.191]
|
||||
*/
|
||||
HICON WINAPI ExtractIconExW ( LPCWSTR lpszFile, INT nIconIndex, HICON * phiconLarge, HICON * phiconSmall, UINT nIcons )
|
||||
{ LPSTR sFile;
|
||||
|
|
|
@ -134,6 +134,47 @@ LPITEMIDLIST WINAPI ILCloneFirst(LPCITEMIDLIST pidl)
|
|||
|
||||
return newpidl;
|
||||
}
|
||||
/*************************************************************************
|
||||
* SHILCreateFromPath [SHELL32.28]
|
||||
*
|
||||
* NOTES
|
||||
* wraper for IShellFolder::ParseDisplayName()
|
||||
*/
|
||||
HRESULT WINAPI SHILCreateFromPathA (LPSTR path, LPITEMIDLIST * ppidl, DWORD attributes)
|
||||
{ LPSHELLFOLDER sf;
|
||||
WCHAR lpszDisplayName[MAX_PATH];
|
||||
DWORD pchEaten;
|
||||
HRESULT ret = E_FAIL;
|
||||
|
||||
TRACE(shell, "%s %p 0x%08lx\n",path,ppidl,attributes);
|
||||
|
||||
LocalToWideChar(lpszDisplayName, path, MAX_PATH);
|
||||
|
||||
if (SUCCEEDED (SHGetDesktopFolder(&sf)))
|
||||
{ ret = sf->lpvtbl->fnParseDisplayName(sf,0, NULL,lpszDisplayName,&pchEaten,ppidl,&attributes);
|
||||
sf->lpvtbl->fnRelease(sf);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
HRESULT WINAPI SHILCreateFromPathW (LPWSTR path, LPITEMIDLIST * ppidl, DWORD attributes)
|
||||
{ LPSHELLFOLDER sf;
|
||||
DWORD pchEaten;
|
||||
HRESULT ret = E_FAIL;
|
||||
|
||||
TRACE(shell, "%s %p 0x%08lx\n",debugstr_w(path),ppidl,attributes);
|
||||
|
||||
if (SUCCEEDED (SHGetDesktopFolder(&sf)))
|
||||
{ ret = sf->lpvtbl->fnParseDisplayName(sf,0, NULL, path, &pchEaten, ppidl, &attributes);
|
||||
sf->lpvtbl->fnRelease(sf);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
HRESULT WINAPI SHILCreateFromPathAW (LPVOID path, LPITEMIDLIST * ppidl, DWORD attributes)
|
||||
{
|
||||
if ( !VERSION_OsIsUnicode())
|
||||
return SHILCreateFromPathW (path, ppidl, attributes);
|
||||
return SHILCreateFromPathA (path, ppidl, attributes);
|
||||
}
|
||||
|
||||
/*************************************************************************
|
||||
* SHCloneSpecialIDList [SHELL32.89]
|
||||
|
@ -468,26 +509,28 @@ DWORD WINAPI ILGlobalFree( LPITEMIDLIST pidl)
|
|||
* ILCreateFromPath [SHELL32.157]
|
||||
*
|
||||
*/
|
||||
LPITEMIDLIST WINAPI ILCreateFromPath(LPVOID path)
|
||||
{ LPSHELLFOLDER shellfolder;
|
||||
LPITEMIDLIST pidlnew;
|
||||
WCHAR lpszDisplayName[MAX_PATH];
|
||||
DWORD pchEaten;
|
||||
LPITEMIDLIST WINAPI ILCreateFromPathA (LPSTR path)
|
||||
{ LPITEMIDLIST pidlnew;
|
||||
|
||||
if ( !VERSION_OsIsUnicode())
|
||||
{ TRACE(pidl,"(path=%s)\n",(LPSTR)path);
|
||||
LocalToWideChar(lpszDisplayName, path, MAX_PATH);
|
||||
}
|
||||
else
|
||||
{ TRACE(pidl,"(path=L%s)\n",debugstr_w(path));
|
||||
lstrcpyW(lpszDisplayName, path);
|
||||
}
|
||||
|
||||
if (SHGetDesktopFolder(&shellfolder)==S_OK)
|
||||
{ shellfolder->lpvtbl->fnParseDisplayName(shellfolder,0, NULL,lpszDisplayName,&pchEaten,&pidlnew,NULL);
|
||||
shellfolder->lpvtbl->fnRelease(shellfolder);
|
||||
}
|
||||
TRACE(shell,"%s\n",path);
|
||||
if (SUCCEEDED (SHILCreateFromPathA (path, &pidlnew, 0)))
|
||||
return pidlnew;
|
||||
return FALSE;
|
||||
}
|
||||
LPITEMIDLIST WINAPI ILCreateFromPathW (LPWSTR path)
|
||||
{ LPITEMIDLIST pidlnew;
|
||||
|
||||
TRACE(shell,"%s\n",debugstr_w(path));
|
||||
|
||||
if (SUCCEEDED (SHILCreateFromPathW (path, &pidlnew, 0)))
|
||||
return pidlnew;
|
||||
return FALSE;
|
||||
}
|
||||
LPITEMIDLIST WINAPI ILCreateFromPathAW (LPVOID path)
|
||||
{
|
||||
if ( !VERSION_OsIsUnicode())
|
||||
return ILCreateFromPathW (path);
|
||||
return ILCreateFromPathA (path);
|
||||
}
|
||||
/*************************************************************************
|
||||
* SHSimpleIDListFromPath [SHELL32.162]
|
||||
|
@ -520,11 +563,33 @@ LPITEMIDLIST WINAPI SHSimpleIDListFromPathAW (LPVOID lpszPath)
|
|||
*
|
||||
*/
|
||||
HRESULT WINAPI SHGetDataFromIDListA(LPSHELLFOLDER psf, LPCITEMIDLIST pidl, int nFormat, LPVOID dest, int len)
|
||||
{ FIXME(shell,"sf=%p pidl=%p 0x%04x %p 0x%04x stub\n",psf,pidl,nFormat,dest,len);
|
||||
{ TRACE(shell,"sf=%p pidl=%p 0x%04x %p 0x%04x stub\n",psf,pidl,nFormat,dest,len);
|
||||
|
||||
if (! psf || !dest )
|
||||
return E_INVALIDARG;
|
||||
|
||||
switch (nFormat)
|
||||
{ case SHGDFIL_FINDDATA:
|
||||
{ WIN32_FIND_DATAA * pfd = dest;
|
||||
STRRET lpName;
|
||||
CHAR pszPath[MAX_PATH];
|
||||
HANDLE handle;
|
||||
|
||||
if ( len < sizeof (WIN32_FIND_DATAA))
|
||||
return E_INVALIDARG;
|
||||
|
||||
psf->lpvtbl->fnAddRef(psf);
|
||||
psf->lpvtbl->fnGetDisplayNameOf( psf, pidl, SHGDN_FORPARSING, &lpName);
|
||||
psf->lpvtbl->fnRelease(psf);
|
||||
|
||||
strcpy(pszPath,lpName.u.cStr);
|
||||
if ((handle = FindFirstFileA ( pszPath, pfd)))
|
||||
FindClose (handle);
|
||||
}
|
||||
break;
|
||||
case SHGDFIL_NETRESOURCE:
|
||||
case SHGDFIL_DESCRIPTIONID:
|
||||
FIXME(shell, "SHGDFIL %i stub\n", nFormat);
|
||||
break;
|
||||
default:
|
||||
ERR(shell,"Unknown SHGDFIL %i, please report\n", nFormat);
|
||||
|
|
|
@ -90,9 +90,6 @@ void WINAPI Control_RunDLL( HWND hwnd, LPCVOID code, LPCSTR cmd, DWORD arg4 )
|
|||
|
||||
/*************************************************************************
|
||||
* SHGetFileInfoA [SHELL32.254]
|
||||
*
|
||||
* FIXME
|
||||
*
|
||||
*/
|
||||
|
||||
DWORD WINAPI SHGetFileInfoA(LPCSTR path,DWORD dwFileAttributes,
|
||||
|
@ -101,7 +98,7 @@ DWORD WINAPI SHGetFileInfoA(LPCSTR path,DWORD dwFileAttributes,
|
|||
{ CHAR szTemp[MAX_PATH];
|
||||
LPPIDLDATA pData;
|
||||
LPITEMIDLIST pPidlTemp = NULL;
|
||||
DWORD ret=0;
|
||||
DWORD ret=0, dwfa = dwFileAttributes;
|
||||
|
||||
TRACE(shell,"(%s,0x%lx,%p,0x%x,0x%x)\n",
|
||||
path,dwFileAttributes,psfi,sizeofpsfi,flags);
|
||||
|
@ -139,10 +136,15 @@ DWORD WINAPI SHGetFileInfoA(LPCSTR path,DWORD dwFileAttributes,
|
|||
ret=TRUE;
|
||||
}
|
||||
else
|
||||
{ psfi->dwAttributes=SFGAO_FILESYSTEM;
|
||||
{ if (! (flags & SHGFI_USEFILEATTRIBUTES))
|
||||
dwfa = GetFileAttributesA (szTemp);
|
||||
|
||||
psfi->dwAttributes = SFGAO_FILESYSTEM;
|
||||
if (dwfa == FILE_ATTRIBUTE_DIRECTORY)
|
||||
psfi->dwAttributes |= SFGAO_FOLDER | SFGAO_HASSUBFOLDER;
|
||||
ret=TRUE;
|
||||
}
|
||||
FIXME(shell,"file attributes, stub\n");
|
||||
WARN(shell,"file attributes, semi-stub\n");
|
||||
}
|
||||
|
||||
if (flags & SHGFI_DISPLAYNAME)
|
||||
|
@ -186,6 +188,9 @@ DWORD WINAPI SHGetFileInfoA(LPCSTR path,DWORD dwFileAttributes,
|
|||
if (flags & SHGFI_USEFILEATTRIBUTES)
|
||||
FIXME(shell,"use the dwFileAttributes, stub\n");
|
||||
|
||||
if (flags & (SHGFI_UNKNOWN1 | SHGFI_UNKNOWN2 | SHGFI_UNKNOWN3))
|
||||
FIXME(shell,"unknown attribute!\n");
|
||||
|
||||
if (flags & SHGFI_ICON)
|
||||
{ FIXME(shell,"icon handle\n");
|
||||
if (flags & SHGFI_SMALLICON)
|
||||
|
@ -202,7 +207,7 @@ DWORD WINAPI SHGetFileInfoA(LPCSTR path,DWORD dwFileAttributes,
|
|||
|
||||
if (flags & SHGFI_SYSICONINDEX)
|
||||
{ if (!pPidlTemp)
|
||||
{ pPidlTemp = ILCreateFromPath (szTemp);
|
||||
{ pPidlTemp = ILCreateFromPathA (szTemp);
|
||||
}
|
||||
psfi->iIcon = SHMapPIDLToSystemImageListIndex (NULL, pPidlTemp, 0);
|
||||
TRACE(shell,"-- SYSICONINDEX %i\n", psfi->iIcon);
|
||||
|
@ -221,10 +226,7 @@ DWORD WINAPI SHGetFileInfoA(LPCSTR path,DWORD dwFileAttributes,
|
|||
}
|
||||
|
||||
/*************************************************************************
|
||||
* SHGetFileInfo32W [SHELL32.255]
|
||||
*
|
||||
* FIXME
|
||||
*
|
||||
* SHGetFileInfoW [SHELL32.255]
|
||||
*/
|
||||
|
||||
DWORD WINAPI SHGetFileInfoW(LPCWSTR path,DWORD dwFileAttributes,
|
||||
|
@ -236,7 +238,7 @@ DWORD WINAPI SHGetFileInfoW(LPCWSTR path,DWORD dwFileAttributes,
|
|||
}
|
||||
|
||||
/*************************************************************************
|
||||
* ExtractIcon32A (SHELL32.133)
|
||||
* ExtractIconA [SHELL32.133]
|
||||
*/
|
||||
HICON WINAPI ExtractIconA( HINSTANCE hInstance, LPCSTR lpszExeFileName,
|
||||
UINT nIconIndex )
|
||||
|
@ -254,7 +256,7 @@ HICON WINAPI ExtractIconA( HINSTANCE hInstance, LPCSTR lpszExeFileName,
|
|||
}
|
||||
|
||||
/*************************************************************************
|
||||
* ExtractIcon32W (SHELL32.180)
|
||||
* ExtractIconW [SHELL32.180]
|
||||
*/
|
||||
HICON WINAPI ExtractIconW( HINSTANCE hInstance, LPCWSTR lpszExeFileName,
|
||||
UINT nIconIndex )
|
||||
|
@ -270,7 +272,7 @@ HICON WINAPI ExtractIconW( HINSTANCE hInstance, LPCWSTR lpszExeFileName,
|
|||
}
|
||||
|
||||
/*************************************************************************
|
||||
* FindExecutable32A (SHELL32.184)
|
||||
* FindExecutableA [SHELL32.184]
|
||||
*/
|
||||
HINSTANCE WINAPI FindExecutableA( LPCSTR lpFile, LPCSTR lpDirectory,
|
||||
LPSTR lpResult )
|
||||
|
@ -303,7 +305,7 @@ HINSTANCE WINAPI FindExecutableA( LPCSTR lpFile, LPCSTR lpDirectory,
|
|||
}
|
||||
|
||||
/*************************************************************************
|
||||
* FindExecutable32W (SHELL32.219)
|
||||
* FindExecutableW [SHELL32.219]
|
||||
*/
|
||||
HINSTANCE WINAPI FindExecutableW(LPCWSTR lpFile, LPCWSTR lpDirectory,
|
||||
LPWSTR lpResult)
|
||||
|
@ -415,6 +417,7 @@ BOOL WINAPI SHGetPathFromIDListAW(LPCITEMIDLIST pidl,LPSTR pszPath)
|
|||
|
||||
/*************************************************************************
|
||||
* SHGetSpecialFolderLocation [SHELL32.223]
|
||||
*
|
||||
* gets the folder locations from the registry and creates a pidl
|
||||
* creates missing reg keys and directorys
|
||||
*
|
||||
|
@ -432,7 +435,7 @@ BOOL WINAPI SHGetPathFromIDListAW(LPCITEMIDLIST pidl,LPSTR pszPath)
|
|||
*/
|
||||
HRESULT WINAPI SHGetSpecialFolderLocation(HWND hwndOwner, INT nFolder, LPITEMIDLIST * ppidl)
|
||||
{ LPSHELLFOLDER shellfolder;
|
||||
DWORD pchEaten,tpathlen=MAX_PATH,type,dwdisp,res;
|
||||
DWORD pchEaten, tpathlen=MAX_PATH, type, dwdisp, res, dwLastError;
|
||||
CHAR pszTemp[256], buffer[256], tpath[MAX_PATH], npath[MAX_PATH];
|
||||
LPWSTR lpszDisplayName = (LPWSTR)&pszTemp[0];
|
||||
HKEY key;
|
||||
|
@ -623,7 +626,9 @@ HRESULT WINAPI SHGetSpecialFolderLocation(HWND hwndOwner, INT nFolder, LPITEMIDL
|
|||
return E_OUTOFMEMORY;
|
||||
}
|
||||
TRACE(shell,"value %s=%s created\n",buffer,npath);
|
||||
dwLastError = GetLastError();
|
||||
CreateDirectoryA(npath,NULL);
|
||||
SetLastError (dwLastError);
|
||||
strcpy(tpath,npath);
|
||||
}
|
||||
break;
|
||||
|
@ -674,7 +679,7 @@ DWORD WINAPI SHLoadInProc (DWORD dwArg1)
|
|||
}
|
||||
|
||||
/*************************************************************************
|
||||
* ShellExecute32A (SHELL32.245)
|
||||
* ShellExecuteA [SHELL32.245]
|
||||
*/
|
||||
HINSTANCE WINAPI ShellExecuteA( HWND hWnd, LPCSTR lpOperation,
|
||||
LPCSTR lpFile, LPCSTR lpParameters,
|
||||
|
@ -685,7 +690,7 @@ HINSTANCE WINAPI ShellExecuteA( HWND hWnd, LPCSTR lpOperation,
|
|||
}
|
||||
|
||||
/*************************************************************************
|
||||
* ShellExecute32W [SHELL32.294]
|
||||
* ShellExecuteW [SHELL32.294]
|
||||
* from shellapi.h
|
||||
* WINSHELLAPI HINSTANCE APIENTRY ShellExecuteW(HWND hwnd, LPCWSTR lpOperation,
|
||||
* LPCWSTR lpFile, LPCWSTR lpParameters, LPCWSTR lpDirectory, INT nShowCmd);
|
||||
|
@ -704,7 +709,7 @@ ShellExecuteW(
|
|||
}
|
||||
|
||||
/*************************************************************************
|
||||
* AboutDlgProc32 (not an exported API function)
|
||||
* AboutDlgProc32 (internal)
|
||||
*/
|
||||
BOOL WINAPI AboutDlgProc( HWND hWnd, UINT msg, WPARAM wParam,
|
||||
LPARAM lParam )
|
||||
|
@ -835,7 +840,7 @@ BOOL WINAPI AboutDlgProc( HWND hWnd, UINT msg, WPARAM wParam,
|
|||
|
||||
|
||||
/*************************************************************************
|
||||
* ShellAbout32A (SHELL32.243)
|
||||
* ShellAboutA [SHELL32.243]
|
||||
*/
|
||||
BOOL WINAPI ShellAboutA( HWND hWnd, LPCSTR szApp, LPCSTR szOtherStuff,
|
||||
HICON hIcon )
|
||||
|
@ -852,7 +857,7 @@ BOOL WINAPI ShellAboutA( HWND hWnd, LPCSTR szApp, LPCSTR szOtherStuff,
|
|||
|
||||
|
||||
/*************************************************************************
|
||||
* ShellAbout32W (SHELL32.244)
|
||||
* ShellAboutW [SHELL32.244]
|
||||
*/
|
||||
BOOL WINAPI ShellAboutW( HWND hWnd, LPCWSTR szApp, LPCWSTR szOtherStuff,
|
||||
HICON hIcon )
|
||||
|
@ -903,7 +908,7 @@ void WINAPI FreeIconList( DWORD dw )
|
|||
}
|
||||
|
||||
/*************************************************************************
|
||||
* SHGetPathFromIDList32A [SHELL32.261][NT 4.0: SHELL32.220]
|
||||
* SHGetPathFromIDListA [SHELL32.261][NT 4.0: SHELL32.220]
|
||||
*
|
||||
* PARAMETERS
|
||||
* pidl, [IN] pidl
|
||||
|
@ -950,15 +955,14 @@ DWORD WINAPI SHGetPathFromIDListA (LPCITEMIDLIST pidl,LPSTR pszPath)
|
|||
{ shellfolder->lpvtbl->fnGetDisplayNameOf(shellfolder,pidl,SHGDN_FORPARSING,&lpName);
|
||||
shellfolder->lpvtbl->fnRelease(shellfolder);
|
||||
}
|
||||
/*WideCharToLocal32(pszPath, lpName.u.pOleStr, MAX_PATH);*/
|
||||
strcpy(pszPath,lpName.u.cStr);
|
||||
/* fixme free the olestring*/
|
||||
}
|
||||
TRACE(shell,"-- (%s)\n",pszPath);
|
||||
return NOERROR;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
/*************************************************************************
|
||||
* SHGetPathFromIDList32W [SHELL32.262]
|
||||
* SHGetPathFromIDListW [SHELL32.262]
|
||||
*/
|
||||
DWORD WINAPI SHGetPathFromIDListW (LPCITEMIDLIST pidl,LPWSTR pszPath)
|
||||
{ char sTemp[MAX_PATH];
|
||||
|
@ -970,7 +974,7 @@ DWORD WINAPI SHGetPathFromIDListW (LPCITEMIDLIST pidl,LPWSTR pszPath)
|
|||
|
||||
TRACE(shell,"-- (%s)\n",debugstr_w(pszPath));
|
||||
|
||||
return NOERROR;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/*************************************************************************
|
||||
|
|
|
@ -42,7 +42,14 @@ LPITEMIDLIST WINAPI ILGetNext(LPITEMIDLIST pidl);
|
|||
LPITEMIDLIST WINAPI ILCombine(LPCITEMIDLIST iil1,LPCITEMIDLIST iil2);
|
||||
LPITEMIDLIST WINAPI ILFindLastID(LPITEMIDLIST pidl);
|
||||
DWORD WINAPI ILGetSize(LPITEMIDLIST pidl);
|
||||
LPITEMIDLIST WINAPI ILCreateFromPath(LPVOID path);
|
||||
|
||||
HRESULT WINAPI SHILCreateFromPathA (LPSTR path, LPITEMIDLIST * ppidl, DWORD attributes);
|
||||
HRESULT WINAPI SHILCreateFromPathW (LPWSTR path, LPITEMIDLIST * ppidl, DWORD attributes);
|
||||
HRESULT WINAPI SHILCreateFromPathAW (LPVOID path, LPITEMIDLIST * ppidl, DWORD attributes);
|
||||
|
||||
LPITEMIDLIST WINAPI ILCreateFromPathA(LPSTR path);
|
||||
LPITEMIDLIST WINAPI ILCreateFromPathW(LPWSTR path);
|
||||
LPITEMIDLIST WINAPI ILCreateFromPathAW(LPVOID path);
|
||||
|
||||
DWORD WINAPI Shell_GetImageList(HIMAGELIST * lpBigList, HIMAGELIST * lpSmallList);
|
||||
HRESULT WINAPI StrRetToStrN (LPVOID dest, DWORD len, LPSTRRET src, LPITEMIDLIST pidl);
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
|
||||
/*************************************************************************
|
||||
* SHChangeNotifyRegister [SHELL32.2]
|
||||
*
|
||||
* NOTES
|
||||
* Idlist is an array of structures and Count specifies how many items in the array
|
||||
* (usually just one I think).
|
||||
|
@ -147,28 +148,19 @@ int WINAPI SHShellFolderView_Message(HWND hwndCabinet,UINT uMsg,LPARAM lParam)
|
|||
|
||||
/*************************************************************************
|
||||
* OleStrToStrN [SHELL32.78]
|
||||
*
|
||||
* NOTES
|
||||
* exported by ordinal
|
||||
* FIXME
|
||||
* wrong implemented OleStr is NOT wide string !!!! (jsch)
|
||||
*/
|
||||
BOOL WINAPI
|
||||
OleStrToStrN (LPSTR lpMulti, INT nMulti, LPCWSTR lpWide, INT nWide) {
|
||||
return WideCharToMultiByte (0, 0, lpWide, nWide,
|
||||
lpMulti, nMulti, NULL, NULL);
|
||||
BOOL WINAPI OleStrToStrN (LPSTR lpMulti, INT nMulti, LPCWSTR lpWide, INT nWide)
|
||||
{
|
||||
TRACE(shell,"%s %x %s %x\n", lpMulti, nMulti, debugstr_w(lpWide), nWide);
|
||||
return WideCharToMultiByte (0, 0, lpWide, nWide, lpMulti, nMulti, NULL, NULL);
|
||||
}
|
||||
|
||||
/*************************************************************************
|
||||
* StrToOleStrN [SHELL32.79]
|
||||
*
|
||||
* NOTES
|
||||
* exported by ordinal
|
||||
* FIXME
|
||||
* wrong implemented OleStr is NOT wide string !!!! (jsch)
|
||||
*/
|
||||
BOOL WINAPI
|
||||
StrToOleStrN (LPWSTR lpWide, INT nWide, LPCSTR lpMulti, INT nMulti) {
|
||||
BOOL WINAPI StrToOleStrN (LPWSTR lpWide, INT nWide, LPCSTR lpMulti, INT nMulti)
|
||||
{
|
||||
TRACE(shell,"%s %x %s %x\n", debugstr_w(lpWide), nWide, lpMulti, nMulti);
|
||||
return MultiByteToWideChar (0, 0, lpMulti, nMulti, lpWide, nWide);
|
||||
}
|
||||
|
||||
|
@ -459,7 +451,7 @@ DWORD WINAPI SHAddToRecentDocs (UINT uFlags,LPCVOID pv)
|
|||
return 0;
|
||||
}
|
||||
/*************************************************************************
|
||||
* SHFileOperation32 [SHELL32.242]
|
||||
* SHFileOperation [SHELL32.242]
|
||||
*
|
||||
*/
|
||||
DWORD WINAPI SHFileOperationAW(DWORD x)
|
||||
|
@ -469,7 +461,7 @@ DWORD WINAPI SHFileOperationAW(DWORD x)
|
|||
}
|
||||
|
||||
/*************************************************************************
|
||||
* SHFileOperation32A [SHELL32.243]
|
||||
* SHFileOperationA [SHELL32.243]
|
||||
*
|
||||
* NOTES
|
||||
* exported by name
|
||||
|
@ -479,7 +471,7 @@ DWORD WINAPI SHFileOperationA (LPSHFILEOPSTRUCTA lpFileOp)
|
|||
return 1;
|
||||
}
|
||||
/*************************************************************************
|
||||
* SHFileOperation32W [SHELL32.244]
|
||||
* SHFileOperationW [SHELL32.244]
|
||||
*
|
||||
* NOTES
|
||||
* exported by name
|
||||
|
@ -592,7 +584,7 @@ BOOL WINAPI ShellExecuteExAW (LPVOID sei)
|
|||
return ShellExecuteExA (sei);
|
||||
}
|
||||
/*************************************************************************
|
||||
* ShellExecuteEx32A [SHELL32.292]
|
||||
* ShellExecuteExA [SHELL32.292]
|
||||
*
|
||||
*/
|
||||
BOOL WINAPI ShellExecuteExA (LPSHELLEXECUTEINFOA sei)
|
||||
|
@ -668,7 +660,7 @@ BOOL WINAPI ShellExecuteExA (LPSHELLEXECUTEINFOA sei)
|
|||
|
||||
}
|
||||
/*************************************************************************
|
||||
* ShellExecuteEx32W [SHELL32.293]
|
||||
* ShellExecuteExW [SHELL32.293]
|
||||
*
|
||||
*/
|
||||
BOOL WINAPI ShellExecuteExW (LPSHELLEXECUTEINFOW sei)
|
||||
|
@ -767,7 +759,7 @@ HRESULT WINAPI FileMenu_Destroy (DWORD u)
|
|||
return 0;
|
||||
}
|
||||
/*************************************************************************
|
||||
* SHRegCloseKey32 [NT4.0:SHELL32.505]
|
||||
* SHRegCloseKey [NT4.0:SHELL32.505]
|
||||
*
|
||||
*/
|
||||
HRESULT WINAPI SHRegCloseKey (HKEY hkey)
|
||||
|
@ -775,7 +767,7 @@ HRESULT WINAPI SHRegCloseKey (HKEY hkey)
|
|||
return RegCloseKey( hkey );
|
||||
}
|
||||
/*************************************************************************
|
||||
* SHRegOpenKey32A [SHELL32.506]
|
||||
* SHRegOpenKeyA [SHELL32.506]
|
||||
*
|
||||
*/
|
||||
HRESULT WINAPI SHRegOpenKeyA(HKEY hKey, LPSTR lpSubKey, LPHKEY phkResult)
|
||||
|
@ -785,7 +777,7 @@ HRESULT WINAPI SHRegOpenKeyA(HKEY hKey, LPSTR lpSubKey, LPHKEY phkResult)
|
|||
}
|
||||
|
||||
/*************************************************************************
|
||||
* SHRegOpenKey32W [NT4.0:SHELL32.507]
|
||||
* SHRegOpenKeyW [NT4.0:SHELL32.507]
|
||||
*
|
||||
*/
|
||||
HRESULT WINAPI SHRegOpenKeyW (HKEY hkey, LPCWSTR lpszSubKey, LPHKEY retkey)
|
||||
|
@ -803,7 +795,7 @@ HRESULT WINAPI SHRegQueryValueExA(DWORD u, LPSTR v, DWORD w, DWORD x,
|
|||
return 0;
|
||||
}
|
||||
/*************************************************************************
|
||||
* SHRegQueryValue32W [NT4.0:SHELL32.510]
|
||||
* SHRegQueryValueW [NT4.0:SHELL32.510]
|
||||
*
|
||||
*/
|
||||
HRESULT WINAPI SHRegQueryValueW (HKEY hkey, LPWSTR lpszSubKey,
|
||||
|
@ -814,7 +806,7 @@ HRESULT WINAPI SHRegQueryValueW (HKEY hkey, LPWSTR lpszSubKey,
|
|||
}
|
||||
|
||||
/*************************************************************************
|
||||
* SHRegQueryValueEx32W [NT4.0:SHELL32.511]
|
||||
* SHRegQueryValueExW [NT4.0:SHELL32.511]
|
||||
*
|
||||
* FIXME
|
||||
* if the datatype REG_EXPAND_SZ then expand the string and change
|
||||
|
@ -996,7 +988,7 @@ HANDLE WINAPI SHFreeShared(HANDLE hmem, DWORD procID)
|
|||
}
|
||||
|
||||
/*************************************************************************
|
||||
* SetAppStartingCursor32 [SHELL32.99]
|
||||
* SetAppStartingCursor [SHELL32.99]
|
||||
*
|
||||
*/
|
||||
HRESULT WINAPI SetAppStartingCursor(HWND u, DWORD v)
|
||||
|
@ -1004,7 +996,7 @@ HRESULT WINAPI SetAppStartingCursor(HWND u, DWORD v)
|
|||
return 0;
|
||||
}
|
||||
/*************************************************************************
|
||||
* SHLoadOLE32 [SHELL32.151]
|
||||
* SHLoadOLE [SHELL32.151]
|
||||
*
|
||||
*/
|
||||
HRESULT WINAPI SHLoadOLE(DWORD u)
|
||||
|
@ -1012,7 +1004,7 @@ HRESULT WINAPI SHLoadOLE(DWORD u)
|
|||
return S_OK;
|
||||
}
|
||||
/*************************************************************************
|
||||
* Shell_MergeMenus32 [SHELL32.67]
|
||||
* Shell_MergeMenus [SHELL32.67]
|
||||
*
|
||||
*/
|
||||
BOOL _SHIsMenuSeparator(HMENU hm, int i)
|
||||
|
@ -1148,10 +1140,9 @@ HRESULT WINAPI Shell_MergeMenus (HMENU hmDst, HMENU hmSrc, UINT uInsert, UINT uI
|
|||
}
|
||||
}
|
||||
return(uIDMax);
|
||||
|
||||
}
|
||||
/*************************************************************************
|
||||
* DriveType32 [SHELL32.64]
|
||||
* DriveType [SHELL32.64]
|
||||
*
|
||||
*/
|
||||
HRESULT WINAPI DriveType(DWORD u)
|
||||
|
|
|
@ -496,7 +496,7 @@ BOOL WINAPI PathMatchSpecAW(LPVOID name, LPVOID mask)
|
|||
return PathMatchSpecA( name, mask );
|
||||
}
|
||||
/*************************************************************************
|
||||
* PathSetDlgItemPath32AW [SHELL32.48]
|
||||
* PathSetDlgItemPathAW [SHELL32.48]
|
||||
* NOTES
|
||||
* use PathCompactPath to make sure, the path fits into the control
|
||||
*/
|
||||
|
@ -516,7 +516,7 @@ BOOL WINAPI PathSetDlgItemPathAW(HWND hDlg, int id, LPCVOID pszPath)
|
|||
}
|
||||
|
||||
/*************************************************************************
|
||||
* PathQualify32AW [SHELL32.49]
|
||||
* PathQualifyAW [SHELL32.49]
|
||||
*/
|
||||
|
||||
BOOL WINAPI PathQualifyA(LPCSTR pszPath)
|
||||
|
|
|
@ -303,7 +303,7 @@ BOOL ShellView_InitList(LPSHELLVIEW this)
|
|||
|
||||
lvColumn.cx = nColumn1;
|
||||
strcpy(szString,"File");
|
||||
/*LoadString32A(shell32_hInstance, IDS_COLUMN1, szString, sizeof(szString));*/
|
||||
/*LoadStringA(shell32_hInstance, IDS_COLUMN1, szString, sizeof(szString));*/
|
||||
ListView_InsertColumnA(this->hWndList, 0, &lvColumn);
|
||||
|
||||
lvColumn.cx = nColumn2;
|
||||
|
@ -992,7 +992,7 @@ LRESULT ShellView_OnNotify(LPSHELLVIEW this, UINT CtlID, LPNMHDR lpnmh)
|
|||
break;
|
||||
|
||||
case HDN_ENDTRACKA:
|
||||
TRACE(shell,"-- HDN_ENDTRACK32A %p\n",this);
|
||||
TRACE(shell,"-- HDN_ENDTRACKA %p\n",this);
|
||||
/*nColumn1 = ListView_GetColumnWidth(this->hWndList, 0);
|
||||
nColumn2 = ListView_GetColumnWidth(this->hWndList, 1);*/
|
||||
break;
|
||||
|
@ -1015,7 +1015,7 @@ LRESULT ShellView_OnNotify(LPSHELLVIEW this, UINT CtlID, LPNMHDR lpnmh)
|
|||
break;
|
||||
|
||||
case LVN_GETDISPINFOA:
|
||||
TRACE(shell,"-- LVN_GETDISPINFO32A %p\n",this);
|
||||
TRACE(shell,"-- LVN_GETDISPINFOA %p\n",this);
|
||||
pidl = (LPITEMIDLIST)lpdi->item.lParam;
|
||||
|
||||
|
||||
|
|
|
@ -196,6 +196,15 @@ typedef struct _AppBarData {
|
|||
LPARAM lParam;
|
||||
} APPBARDATA, *PAPPBARDATA;
|
||||
|
||||
#define SHGFI_LARGEICON 0x000000000 /* get large icon */
|
||||
#define SHGFI_SMALLICON 0x000000001 /* get small icon */
|
||||
#define SHGFI_OPENICON 0x000000002 /* get open icon */
|
||||
#define SHGFI_SHELLICONSIZE 0x000000004 /* get shell size icon */
|
||||
#define SHGFI_PIDL 0x000000008 /* pszPath is a pidl */
|
||||
#define SHGFI_USEFILEATTRIBUTES 0x000000010 /* use passed dwFileAttribute */
|
||||
#define SHGFI_UNKNOWN1 0x000000020
|
||||
#define SHGFI_UNKNOWN2 0x000000040
|
||||
#define SHGFI_UNKNOWN3 0x000000080
|
||||
#define SHGFI_ICON 0x000000100 /* get icon */
|
||||
#define SHGFI_DISPLAYNAME 0x000000200 /* get display name */
|
||||
#define SHGFI_TYPENAME 0x000000400 /* get type name */
|
||||
|
@ -205,12 +214,7 @@ typedef struct _AppBarData {
|
|||
#define SHGFI_SYSICONINDEX 0x000004000 /* get system icon index */
|
||||
#define SHGFI_LINKOVERLAY 0x000008000 /* put a link overlay on icon */
|
||||
#define SHGFI_SELECTED 0x000010000 /* show icon in selected state */
|
||||
#define SHGFI_LARGEICON 0x000000000 /* get large icon */
|
||||
#define SHGFI_SMALLICON 0x000000001 /* get small icon */
|
||||
#define SHGFI_OPENICON 0x000000002 /* get open icon */
|
||||
#define SHGFI_SHELLICONSIZE 0x000000004 /* get shell size icon */
|
||||
#define SHGFI_PIDL 0x000000008 /* pszPath is a pidl */
|
||||
#define SHGFI_USEFILEATTRIBUTES 0x000000010 /* use passed dwFileAttribute */
|
||||
#define SHGFI_ATTR_SPECIFIED 0x000020000 /* get only specified attributes */
|
||||
|
||||
/****************************************************************************
|
||||
* SHChangeNotifyRegister API
|
||||
|
|
|
@ -33,7 +33,7 @@ init Shell32LibMain
|
|||
25 stdcall ILCombine(ptr ptr) ILCombine
|
||||
26 stub ILLoadFromStream@8
|
||||
27 stub ILSaveToStream@8
|
||||
28 stub SHILCreateFromPath@12
|
||||
28 stdcall SHILCreateFromPath (long long long) SHILCreateFromPathAW
|
||||
29 stdcall PathIsRoot(ptr) PathIsRootAW
|
||||
30 stdcall PathBuildRoot(ptr long) PathBuildRootA
|
||||
31 stdcall PathFindExtension(ptr) PathFindExtensionAW
|
||||
|
@ -162,7 +162,7 @@ init Shell32LibMain
|
|||
154 stdcall ILAppend (long long long) ILAppend
|
||||
155 stdcall ILFree (ptr) ILFree
|
||||
156 stdcall ILGlobalFree (ptr) ILGlobalFree
|
||||
157 stdcall ILCreateFromPath (ptr) ILCreateFromPath
|
||||
157 stdcall ILCreateFromPath (ptr) ILCreateFromPathAW
|
||||
158 stdcall PathGetExtension(str long long) PathGetExtensionAW
|
||||
159 stub PathIsDirectory
|
||||
160 stub SHNetConnectionDialog
|
||||
|
|
Loading…
Reference in New Issue