Changelog - dlls/shell32/shell32.spec Added IsLFNDriveA/W/AW exports and two more stubs - dlls/shell32/shellpath.c Implemented IsLFNDriveA/W/AW based on the previously existing IsLFNDrive License: X11 Rolf Kalbermatter Index: dlls/shell32/shell32.spec =================================================================== RCS file: /home/wine/wine/dlls/shell32/shell32.spec,v retrieving revision 1.76 diff -u -r1.76 shell32.spec --- dlls/shell32/shell32.spec 25 Sep 2003 20:26:28 -0000 1.76 +++ dlls/shell32/shell32.spec 26 Sep 2003 20:04:18 -0000 @@ -35,6 +35,8 @@ 38 stdcall PathStripPath(ptr)PathStripPathAW 39 stdcall PathIsUNC (ptr) PathIsUNCAW 40 stdcall PathIsRelative (ptr) PathIsRelativeAW + 41 stdcall IsLFNDriveA(str) + 42 stdcall IsLFNDrive(ptr) IsLFNDriveAW 43 stdcall PathIsExe (ptr) PathIsExeAW 45 stdcall PathFileExists(ptr) PathFileExistsAW 46 stdcall PathMatchSpec (ptr ptr) PathMatchSpecAW @@ -92,6 +94,7 @@ 98 stdcall SHGetRealIDL (ptr ptr ptr) 99 stdcall SetAppStartingCursor (long long) 100 stdcall SHRestricted(long) + 102 stdcall SHCoCreateInstance(ptr ptr long ptr ptr) 103 stdcall SignalFileOpen(long) 104 stdcall FileMenu_DeleteAllItems(long) @@ -109,7 +112,7 @@ 116 stdcall FileMenu_TrackPopupMenuEx (long long long long long long) 117 stdcall FileMenu_DeleteItemByCmd(long long) 118 stdcall FileMenu_Destroy (long) - 119 stdcall IsLFNDrive(str) IsLFNDriveA + 119 stdcall IsLFNDriveW(wstr) 120 stdcall FileMenu_AbortInitMenu () 121 stdcall SHFlushClipboard () 122 stdcall RunDLL_CallEntry16 (long long long long long) #name wrong? @@ -138,6 +141,7 @@ 146 stdcall RLBuildListOfPaths() 147 stdcall SHCLSIDFromString(long long) SHCLSIDFromStringAW 149 stdcall SHFind_InitMenuPopup(long long long long) + 151 stdcall SHLoadOLE (long) 152 stdcall ILGetSize(ptr) 153 stdcall ILGetNext(ptr) @@ -174,6 +178,8 @@ 184 stdcall ArrangeWindows(long long long long long) 185 stub SHHandleDiskFull 186 stdcall ILGetDisplayNameEx(ptr ptr ptr long) + 187 stub ILGetPseudoNameW + 188 stub ShellDDEInit 189 stdcall ILCreateFromPathA(str) 190 stdcall ILCreateFromPathW(wstr) 195 stdcall SHFree(ptr) Index: dlls/shell32/shellpath.c =================================================================== RCS file: /home/wine/wine/dlls/shell32/shellpath.c,v retrieving revision 1.71 diff -u -r1.71 shellpath.c --- dlls/shell32/shellpath.c 8 Sep 2003 18:47:10 -0000 1.71 +++ dlls/shell32/shellpath.c 26 Sep 2003 20:04:18 -0000 @@ -426,18 +426,37 @@ } /************************************************************************* - * IsLFNDrive [SHELL32.119] - * - * NOTES - * exported by ordinal Name + * IsLFNDriveW [SHELL32.119] */ -BOOL WINAPI IsLFNDriveA(LPCSTR lpszPath) +BOOL WINAPI IsLFNDriveW(LPCWSTR lpszPath) { DWORD fnlen; - if (!GetVolumeInformationA(lpszPath,NULL,0,NULL,&fnlen,NULL,NULL,0)) + if (!GetVolumeInformationW(lpszPath, NULL, 0, NULL, &fnlen, NULL, NULL, 0)) return FALSE; return fnlen>12; +} + +/************************************************************************* + * IsLFNDriveA [SHELL32.41] + */ +BOOL WINAPI IsLFNDriveA(LPCSTR lpszPath) +{ + DWORD fnlen; + + if (!GetVolumeInformationA(lpszPath, NULL, 0, NULL, &fnlen, NULL, NULL, 0)) + return FALSE; + return fnlen > 12; +} + +/************************************************************************* + * IsLFNDrive [SHELL32.42] + */ +BOOL WINAPI IsLFNDriveAW(LPCVOID lpszPath) +{ + if (SHELL_OsIsUnicode()) + return IsLFNDriveW(lpszPath); + return IsLFNDriveA(lpszPath); } /*