Driver Problems? Questions? Issues?
Put OSR's experience to work for you! Contact us for assistance with:
  • Creating the right design for your requirements
  • Reviewing your existing driver code
  • Analyzing driver reliability/performance issues
  • Custom training mixed with consulting and focused directly on your specific areas of interest/concern.
Check us out. OSR, the Windows driver experts.

OSR Seminars

Go Back   OSR Online Lists > ntfsd
Welcome, Guest
You must login to post to this list
  Message 1 of 2  
03 Aug 18 13:26
Gova Gimer
Join Date: 26 Mar 2018
Posts To This List: 22
IOCTL_REDIR_QUERY_PATH ,how to unreference ?

Hello, I ask the question in English and in French. Sorry. In english : In the MUP, at each IOCTL function IOCTL_REDIR_QUERY_PATH, Windows reference the UNC link (eg. \\test\l1) by data receive 'QUERY_PATH_RESPONSE' if it returns STATUS_SUCCESS. OKAY. But how to do the opposite? Do That is how deference or purge the UNC ? Do That is, the OS recalls the IOCTL function IOCTL_REDIR_QUERY_PATH ? because he is called only once I developed a kernel MUP UNC service to mount virtual disk filesystem on a UNC Network. AND also I develop a MUP UNC kernel service to mount rawsystem virtual disk on a UNC Network. When I mount my filesystem disk (Driver 'A') on a UNC (eg \\test\l1) it works good!!! I unmount my filesystem disk and mount a rawsystem disk (Driver 'B') on the same UNC (\\test\l1). It does not work, and I took a long time to find the problem but not resolved: when I open the UNC '\\ test \ l1' Windows does not send the famous ioctl function IOCTL_REDIR_QUERY_PATH, consequence it is the DeviceObject MUP (Driver 'A') of my driver filesystem which is always called (AND NOT THAT OF THE DRIVER RAWSYSTEM (Driver 'B')). It is that of the driver 'A' which is always called instead Driver 'B', consequence the function IRP_MJ_CREATE of the driver FileSystem which is called returns STATUS_ACCESS_DENIED because the UNC (\\test\l1) of the driver 'A' is no longer referenced because I had to unmount the filesystem disk. the UNC address \\test\l1 is referenced to the driver 'B'. How to purge the MUP? For information : My disk driver DiskSystem (Driver 'A') has its own MUP device. My disk driver RawSystem (Driver 'B') has its own MUP device. Also there are 2 providers MUP (One for Driver 'A' and one for Driver 'B') Driver 'A' -> driver disk filesystem Driver 'B' -> driver disk rawsystem. Thank you. In French version : Bonjour, Dans les MUP ,? chaque fonction IOCTL IOCTL_REDIR_QUERY_PATH, Windows r?f?rence le lien UNC (eg. \\test\l1) par data receive 'QUERY_PATH_RESPONSE' si il renvoie STATUS_SUCCESS. OKAY. Mais comment faire l'inverse ? C'est ? dire le deferencer ou purger les UNC. C'est ? dire que the OS rappelle la fonction IOCTL IOCTL_REDIR_QUERY_PATH, car il est appell? qu'une seule fois. J'ai d?velopper un service kernel MUP UNC pour monter des disque virtuelle filesystem sur un UNC Network. ET aussi j'ai developper un service kernel MUP UNC pour monter des disque virtuelle rawsystem sur un UNC Network. Quand je monte mon disque filesystem (Driver 'A') sur un UNC (ex. \\test\l1) ca marche !!! Je d?monte mon disque filesystem et je monte un disque rawsystem (Driver 'B') sur le m?me UNC (\\test\l1). Ca ne marche pas , et j'ai mis longtemps ? trouver le probl?me mais pas r?solut : quand j'ouvre l'UNC '\\test\l1' Windows ne n'envoie pas le fameux fonction ioctl IOCTL_REDIR_QUERY_PATH ,cons?quence c'est le DeviceObject MUP (Driver 'A') de mon driver filesystem qui est toujours appell? (ET NON PAS CELLE DU DRIVER RAWSYSTEM (Driver 'B')). C'est celui du driver 'A' qui est appell? , cons?quence la fonction IRP_MJ_CREATE du driver FileSystem qui est appell? retourne STATUS_ACCESS_DENIED car l'UNC (\\test\l1) du driver 'A' n'est plus r?f?rencer car j'avais d?monter le disque filesystem. l'adresse UNC \\test\l1 est r?f?rencer au driver 'B'. Comment purger le MUP ? Pour information : Le driver disk FileSystem (Driver 'A') comporte son propre device MUP. Le driver disk RawSystem (Driver 'B') comporte son propre device MUP. Aussi il y a 2 providers MUP (Pour Driver 'A' et pour Driver 'B') Driver 'A' -> driver disk filesystem Driver 'B' -> driver disk rawsystem. Merci.
  Message 2 of 2  
14 Aug 18 10:42
Scott Noone
Join Date: 10 Jul 2002
Posts To This List: 1043
List Moderator
IOCTL_REDIR_QUERY_PATH ,how to unreference ?

Did you try deregistering with FsRtlDeregisterUncProvider and then re-registering the UNC provider? I don't think there's any other way to tell MUP that you no longer know how to talk to a particular server/share. -scott OSR @OSRDrivers
Posting Rules  
You may not post new threads
You may not post replies
You may not post attachments
You must login to OSR Online AND be a member of the ntfsd list to be able to post.

All times are GMT -5. The time now is 18:45.

Copyright ©2015, OSR Open Systems Resources, Inc.
Based on vBulletin Copyright ©2000 - 2005, Jelsoft Enterprises Ltd.
Modified under license