shell32: Implement undocumented IsLFNDriveA/W/AW
Rolf Kalbermatter
rolf.kalbermatter at citeng.com
Fri Sep 26 15:28:19 CDT 2003
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);
}
/*
More information about the wine-patches
mailing list