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

npfs: kernel32: Windows XP/2003 npfs needs USING_PROPER_NPFS_WAIT_SEMANTICS to work in ReactOS

    XMLWordPrintable

Details

    Description

      NPFS is the so called named pipe filesystem, it takes care of various virtual paths for drivers. Each driver creates a pipe to communicate with the software and hardware, basically that's what npfs takes care of. If NPFS is broken, many drivers won't work and basic pipes won't work either. NPFS.sys from Windows 2003 was working in ReactOS in r19089 (with an appropriate change in dll/win32/kernel32/file/npipe.c). In trunk it does not work.

      TEST SEQUENCE:

      • Build an unmodified bootcd
      • Install it, so that you get to explorer (3rd stage works normal). Shut down system cleanly.
      • Change the mentioned npipe.c file, uncommenting a #define USING_PROPER_NPFS_WAIT_SEMANTICS, and recompile kernel32.dll
      • If you encounter two undefined symbols during kernel32 compile, change them to RtlPathTypeLocalDevice (around line 306), and RtlPathTypeRootLocalDevice (around line 320)
      • Mount the virtual machine's harddisk and copy newly built kernel32.dll to X:\reactos\system32, and npfs.sys from Windows 2003 SP1 to X:\reactos\system32\drivers, overwriting the old files
      • Boot the system. If it boots as usual, you get to explorer and "new device found" wizard appears, NPFS definately works. If you're stuck in textmode or it needs some minutes to boot into Explorer,
        then it fails.

      Attachments

        1. rpcpipe.patch
          2 kB
        2. npfs-wait.patch
          1 kB
        3. 60072-revert.diff
          6 kB

        Activity

          People

            ThFabba ThFabba
            fireball fireball
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: