Uploaded image for project: 'Core ReactOS'
  1. Core ReactOS
  2. CORE-12665

shell32.dll needs PathResolve() implementation

    XMLWordPrintable

Details

    • Improvement
    • Resolution: Fixed
    • Major
    • 0.4.15
    • Shell
    • None

    Description

      Documentation: PathResolve function (MSDN) (listed as deprecated, but still exists in Windows 10).

      Would be used for run dialog, shell links resolution, ...
      Maybe an example of this would be CORE-12049

      Example of output, from direct API calls in an interactive application:

      FindFirstFileW(szFile = 'regedit') failed
      PathFindOnPathW(szFile = 'regedit') failed
      PathResolve(szFile = 'regedit' ==> 'C:\Windows\system32\regedit.exe') succeeded
      SearchPathW(szFile = 'regedit') failed
      GetFullPathNameW(szFile = 'regedit', buffer = 'c:\Users\ReactOS\Desktop\test_SearchPath\test_SearchPath\regedit', fname = 'regedit') succeeded

      PathResolve is the only API here able to simply resolve a given known executable name to its full path, without any further tricks.

      Might be implemented around the SHELL_FindExecutable code.

      NOTE: A hackish implementation of PathResolve, named HACKISH_PathResolve, was introduced in shell32/CShellLink.cpp in r73576

      Attachments

        1. CShellLink-after.txt
          4 kB
        2. CShellLink-after-2.txt
          3 kB
        3. CShellLink-after-3.txt
          3 kB
        4. CShellLink-before.txt
          3 kB
        5. pathresolve_shellpath_c.patch
          3 kB
        6. PathResolveA.patch
          3 kB
        7. PathResolveA.patch
          3 kB
        8. PathResolveTest.zip
          28 kB
        9. PathResolve-tests.patch
          56 kB
        10. PathResolve-tests.patch
          48 kB
        11. PR16.patch
          7 kB
        12. PR16.txt
          35 kB

        Issue Links

          Activity

            People

              katayama_hirofumi_mz Katayama Hirofumi MZ
              hbelusca hbelusca
              Votes:
              2 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: