From 2294e30dd462b2feb8ffa36f563c6ffcc2fae8f4 Mon Sep 17 00:00:00 2001 From: Hans Leidekker Date: Mon, 21 Feb 2005 18:37:33 +0000 Subject: [PATCH] - Revert wrong -noname markup for Drag*, DoEnvironmentSubst and SHGetNewLinkInfo{A,W}. - Also mark stub exports -noname when they are exported by ordinal only on win98/2k. - Implementation level stubs for SheChangeDirA, SheGetDirA, SHHelpShortcuts_RunDLL{A,W}. - New spec file stubs for Control_RunDLLAsUserW, FixupOptionalComponents, OCInstall, SHChangeNotifySuspendResume, SHCreateProcessAsUserW, SHExtractIconsW, SHInvokePrinterCommand{A,W}, SHIsFileAvailableOffline, SHLoadNonloadedIconOverlayIdentifiers, SHPathPrepareForWrite{A,W}, ShellExec_RunDLL{,A,W}, SHGetIconOverlayIndex{A,W}. --- dlls/shell32/shell32.spec | 57 ++++++++++++++++++++++++------------- dlls/shell32/shell32_main.c | 14 +++++++-- dlls/shell32/shlfileop.c | 22 ++++++++++++-- 3 files changed, 69 insertions(+), 24 deletions(-) diff --git a/dlls/shell32/shell32.spec b/dlls/shell32/shell32.spec index 31ab73b5163..e3f3eaf2508 100644 --- a/dlls/shell32/shell32.spec +++ b/dlls/shell32/shell32.spec @@ -6,10 +6,10 @@ 2 stdcall -noname SHChangeNotifyRegister(long long long long long ptr) 4 stdcall -noname SHChangeNotifyDeregister(long) 5 stdcall -noname SHChangeNotifyUpdateEntryList(long long long long) - 9 stub PifMgr_OpenProperties - 10 stub PifMgr_GetProperties - 11 stub PifMgr_SetProperties - 13 stub PifMgr_CloseProperties + 9 stub -noname PifMgr_OpenProperties + 10 stub -noname PifMgr_GetProperties + 11 stub -noname PifMgr_SetProperties + 13 stub -noname PifMgr_CloseProperties 15 stdcall -noname ILGetDisplayName(ptr ptr) 16 stdcall -noname ILFindLastID(ptr) 17 stdcall -noname ILRemoveLastID(ptr) @@ -46,8 +46,8 @@ 50 stdcall -noname PathStripToRoot(ptr) PathStripToRootAW 51 stdcall -noname PathResolve(str long long) PathResolveAW 52 stdcall -noname PathGetArgs(str) PathGetArgsAW - 53 stdcall -noname DoEnvironmentSubst(long long) DoEnvironmentSubstAW - 54 stdcall -noname DragAcceptFiles(long long) + 53 stdcall DoEnvironmentSubst(long long) DoEnvironmentSubstAW + 54 stdcall DragAcceptFiles(long long) 55 stdcall -noname PathQuoteSpaces(ptr) PathQuoteSpacesAW 56 stdcall -noname PathUnquoteSpaces(str) PathUnquoteSpacesAW 57 stdcall -noname PathGetDriveNumber(str) PathGetDriveNumberAW @@ -58,11 +58,11 @@ 62 stdcall -noname PickIconDlg(long long long long) 63 stdcall -noname GetFileNameFromBrowse(long long long long str str str) 64 stdcall -noname DriveType(long) - 65 stub InvalidateDriveType + 65 stub -noname InvalidateDriveType 66 stdcall -noname IsNetDrive(long) 67 stdcall -noname Shell_MergeMenus(long long long long long long) 68 stdcall -noname SHGetSetSettings(ptr long long) - 69 stub SHGetNetResource + 69 stub -noname SHGetNetResource 70 stdcall -noname SHCreateDefClassObject(long long long long long) 71 stdcall -noname Shell_GetImageList(ptr ptr) 72 stdcall -noname Shell_GetCachedImageIndex(ptr ptr long) Shell_GetCachedImageIndexAW @@ -73,9 +73,9 @@ 77 stdcall -noname SHMapPIDLToSystemImageListIndex(ptr ptr ptr) 78 stdcall -noname OleStrToStrN(str long wstr long) OleStrToStrNAW 79 stdcall -noname StrToOleStrN(wstr long str long) StrToOleStrNAW - 80 stdcall -noname DragFinish(long) - 81 stdcall -noname DragQueryFile(long long ptr long) DragQueryFileA - 82 stdcall -noname DragQueryFileA(long long ptr long) + 80 stdcall DragFinish(long) + 81 stdcall DragQueryFile(long long ptr long) DragQueryFileA + 82 stdcall DragQueryFileA(long long ptr long) 83 stdcall -noname CIDLData_CreateFromIDArray(ptr long ptr ptr) 84 stub SHIsBadInterfacePtr 85 stdcall -noname OpenRegStream(long str str long) shlwapi.SHOpenRegStreamA @@ -126,9 +126,9 @@ 130 stdcall -noname DAD_DragEnter(long) 131 stdcall -noname DAD_DragEnterEx(long long long) 132 stdcall -noname DAD_DragLeave() - 133 stdcall -noname DragQueryFileW(long long ptr long) + 133 stdcall DragQueryFileW(long long ptr long) 134 stdcall -noname DAD_DragMove(long long) - 135 stdcall -noname DragQueryPoint(long ptr) + 135 stdcall DragQueryPoint(long ptr) 136 stdcall -noname DAD_SetDragImage(long long) 137 stdcall -noname DAD_ShowDragImage(long) 139 stub Desktop_UpdateBriefcaseOnEvent @@ -170,8 +170,8 @@ 176 stdcall -noname SHSetInstanceExplorer(long) 177 stub DAD_SetDragImageFromListView 178 stdcall -noname SHObjectProperties(long long wstr wstr) - 179 stdcall -noname SHGetNewLinkInfoA(str str ptr long long) - 180 stdcall -noname SHGetNewLinkInfoW(wstr wstr ptr long long) + 179 stdcall SHGetNewLinkInfoA(str str ptr long long) + 180 stdcall SHGetNewLinkInfoW(wstr wstr ptr long long) 181 stdcall -noname RegisterShellHook(long long) 182 varargs -noname ShellMessageBoxW(long long long str long) 183 varargs -noname ShellMessageBoxA(long long long str long) @@ -215,7 +215,7 @@ 250 stdcall -noname PathRemoveExtension(ptr) PathRemoveExtensionAW 251 stdcall -noname PathRemoveArgs(ptr) PathRemoveArgsAW 256 stdcall @(ptr ptr) SHELL32_256 - 271 stub SheChangeDirA + 271 stdcall SheChangeDirA(str) 272 stub SheChangeDirExA 273 stub SheChangeDirExW 274 stdcall SheChangeDirW(wstr) @@ -223,7 +223,7 @@ 276 stub SheFullPathA 277 stub SheFullPathW 278 stub SheGetCurDrive - 279 stub SheGetDirA + 279 stdcall SheGetDirA(long long) 280 stub SheGetDirExW 281 stdcall SheGetDirW (long long) 282 stub SheGetPathOffsetW @@ -329,6 +329,7 @@ @ stdcall Control_FillCache_RunDLLW(long long long long) @ stdcall Control_RunDLL(ptr ptr str long) Control_RunDLLA @ stdcall Control_RunDLLA(ptr ptr str long) +@ stub Control_RunDLLAsUserW @ stdcall Control_RunDLLW(ptr ptr wstr long) @ stdcall -private DllCanUnloadNow() SHELL32_DllCanUnloadNow @ stdcall DllInstall(long wstr)SHELL32_DllInstall @@ -353,9 +354,11 @@ @ stub FindExeDlgProc @ stdcall FindExecutableA(ptr ptr ptr) @ stdcall FindExecutableW(wstr wstr wstr) +@ stub FixupOptionalComponents @ stdcall FreeIconList(long) @ stub InternalExtractIconListA @ stub InternalExtractIconListW +@ stub OCInstall @ stub OpenAs_RunDLL @ stub OpenAs_RunDLLA @ stub OpenAs_RunDLLW @@ -373,11 +376,14 @@ @ stdcall SHBrowseForFolderA(ptr) @ stdcall SHBrowseForFolderW(ptr) @ stdcall SHChangeNotify (long long ptr ptr) +@ stub SHChangeNotifySuspendResume @ stdcall SHCreateDirectoryExA(long str ptr) @ stdcall SHCreateDirectoryExW(long wstr ptr) +@ stub SHCreateProcessAsUserW @ stub ShellHookProc @ stdcall SHEmptyRecycleBinA(long str long) @ stdcall SHEmptyRecycleBinW(long wstr long) +@ stub SHExtractIconsW @ stdcall SHFileOperation(ptr) SHFileOperationA @ stdcall SHFileOperationA(ptr) @ stdcall SHFileOperationW(ptr) @@ -395,10 +401,16 @@ @ stdcall SHGetPathFromIDListW(ptr ptr) @ stdcall SHGetSettings(ptr long) @ stdcall SHGetSpecialFolderLocation(long long ptr) -@ stdcall SHHelpShortcuts_RunDLL(long long long long) -@ stub SHHelpShortcuts_RunDLLA -@ stub SHHelpShortcuts_RunDLLW +@ stdcall SHHelpShortcuts_RunDLL(long long long long) SHHelpShortcuts_RunDLLA +@ stdcall SHHelpShortcuts_RunDLLA(long long long long) +@ stdcall SHHelpShortcuts_RunDLLW(long long long long) +@ stub SHInvokePrinterCommandA +@ stub SHInvokePrinterCommandW +@ stub SHIsFileAvailableOffline @ stdcall SHLoadInProc(long) +@ stub SHLoadNonloadedIconOverlayIdentifiers +@ stub SHPathPrepareForWriteA +@ stub SHPathPrepareForWriteW @ stdcall SHQueryRecycleBinA(str ptr) @ stdcall SHQueryRecycleBinW(wstr ptr) @ stub SHUpdateRecycleBinIcon @@ -427,6 +439,9 @@ # version 5.00 (Win2K) # _WIN32_IE >= 0x0500 # +@ stub ShellExec_RunDLL +@ stub ShellExec_RunDLLA +@ stub ShellExec_RunDLLW @ stdcall SHBindToParent(ptr ptr ptr ptr) @ stdcall SHGetDiskFreeSpaceA(str ptr ptr ptr) kernel32.GetDiskFreeSpaceExA @ stdcall SHGetDiskFreeSpaceExA(str ptr ptr ptr) kernel32.GetDiskFreeSpaceExA @@ -434,6 +449,8 @@ @ stdcall SHGetFolderPathA(long long long long ptr) @ stdcall SHGetFolderPathW(long long long long ptr) @ stdcall SHGetFolderLocation(long long long long ptr) +@ stub SHGetIconOverlayIndexA +@ stub SHGetIconOverlayIndexW # version 6.0 (WinXP) # _WIN32_IE >= 0x600 diff --git a/dlls/shell32/shell32_main.c b/dlls/shell32/shell32_main.c index 64b00472f45..5263bfc81cc 100644 --- a/dlls/shell32/shell32_main.c +++ b/dlls/shell32/shell32_main.c @@ -794,10 +794,20 @@ UINT WINAPI SHAppBarMessage(DWORD msg, PAPPBARDATA data) } /************************************************************************* - * SHHelpShortcuts_RunDLL [SHELL32.@] + * SHHelpShortcuts_RunDLLA [SHELL32.@] * */ -DWORD WINAPI SHHelpShortcuts_RunDLL(DWORD dwArg1, DWORD dwArg2, DWORD dwArg3, DWORD dwArg4) +DWORD WINAPI SHHelpShortcuts_RunDLLA(DWORD dwArg1, DWORD dwArg2, DWORD dwArg3, DWORD dwArg4) +{ + FIXME("(%lx, %lx, %lx, %lx) stub!\n", dwArg1, dwArg2, dwArg3, dwArg4); + return 0; +} + +/************************************************************************* + * SHHelpShortcuts_RunDLLA [SHELL32.@] + * + */ +DWORD WINAPI SHHelpShortcuts_RunDLLW(DWORD dwArg1, DWORD dwArg2, DWORD dwArg3, DWORD dwArg4) { FIXME("(%lx, %lx, %lx, %lx) stub!\n", dwArg1, dwArg2, dwArg3, dwArg4); return 0; diff --git a/dlls/shell32/shlfileop.c b/dlls/shell32/shlfileop.c index 09f0946cd57..dfa6fb30863 100644 --- a/dlls/shell32/shlfileop.c +++ b/dlls/shell32/shlfileop.c @@ -1411,7 +1411,16 @@ void WINAPI SHFreeNameMappings(HANDLE hNameMapping) } /************************************************************************* - * SheGetDirW [SHELL32.281] + * SheGetDirA [SHELL32.@] + * + */ +HRESULT WINAPI SheGetDirA(LPSTR u, LPSTR v) +{ FIXME("%p %p stub\n",u,v); + return 0; +} + +/************************************************************************* + * SheGetDirW [SHELL32.@] * */ HRESULT WINAPI SheGetDirW(LPWSTR u, LPWSTR v) @@ -1420,7 +1429,16 @@ HRESULT WINAPI SheGetDirW(LPWSTR u, LPWSTR v) } /************************************************************************* - * SheChangeDirW [SHELL32.274] + * SheChangeDirA [SHELL32.@] + * + */ +HRESULT WINAPI SheChangeDirA(LPSTR u) +{ FIXME("(%s),stub\n",debugstr_a(u)); + return 0; +} + +/************************************************************************* + * SheChangeDirW [SHELL32.@] * */ HRESULT WINAPI SheChangeDirW(LPWSTR u)