MUP driver and network redirector issues

I have some issues with my network redirector, running WinXP. Based one the
earlier topic “Volumes for network redirector?” I was under the impression
that a network redirector do not call IoRegisterFileSystem, but instead call
FsRtlRegisterUncProvider. This causes FsRtlRegisterUncProvider to return
status STATUS_NO_SUCH_DEVICE.

If I call IoRegisterFileSystem first, and then call
FsRtlRegisterUncProvider, this one return STATUS_SUCCESS. As driver name I
use “\Device\MyRedirector”. As DeviceType I use the value
FILE_DEVICE_NETWORK_FILE_SYSTEM and as DeviceCharacteristics I use the value
FILE_REMOTE_DEVICE.

I have implemented two IOCTL’s for respectively calling “IoCreateDevice” and
“IoDeleteDevice”. Upon creation of the file system device, I use as
DeviceType the value FILE_DEVICE_NETWORK_BROWSER and as
DeviceCharacteristics I use the value 0. The file system device is created
successfully.

Next, I have implemented the IOCTL_REDIR_QUERY_PATH, and are correctly
returning the prefix length, in bytes. My prefix is “\xxxxx@domain.com”, and
in the WinExplorer address bar I thus enter: \xxxxx@domain.com\somefile.txt.

What happend is, that the second I enter the last "", then the
IOCTL_REDIR_QUERY_PATH code gets called immediately with
“\xxxxx@domain.com\PIPE\wkssvc”. This is being followed with 6 IRP_MJ_CREATE
with filename being “\xxxxx@domain.com\PIPE\wkssvc”.

The real issue cones next. When I enter the final file name and press enter,
then FileSpy reports that the Path “\xxxxx@domain.com\somefile.txt” is being
processed by “svchost.exe”, and not by the “System” or “explorer.exe”
process. Maybe this is correct, but I would expect that the path
“\xxxxx@domain.com\somefile.txt” was being sent to my redirector. But this
receives nothing?

So I was wondering if my registry settings are wrong, or that my MPR
(Network Provider DLL) is not doing the right thing?

I have entered:

HKLM\SYSTEM\CurrentControlSet\Control\NetworkProvider\HwOrder
RDPNP,LanmanWorkstation,WebClient,MyNetwork

HKLM\SYSTEM\CurrentControlSet\Control\NetworkProvider\Order
RDPNP,LanmanWorkstation,WebClient,MyNetwork

HKLM\SYSTEM\CurrentControlSet\Services\MyNetwork
Group: Network
ImagePath: System32\drivers\myredirector.sys
DisplayName: My Network
Start: 3
Type: 2
ErrorControl: 1

HKLM\SYSTEM\CurrentControlSet\Services\MyNetwork\Linkage
Bind: 0
Export: 0
Route: 0

HKLM\SYSTEM\CurrentControlSet\Services\MyNetwork\NetworkProvider
Name: My Network
ProviderPath: c:\mpr\mympr.dll
DeviceName: \Device\MyRedirector

Thanks in advance for any help.
Ole

> I have some issues with my network redirector, running WinXP. Based one the

earlier topic “Volumes for network redirector?” I was under the impression
that a network redirector do not call IoRegisterFileSystem, but instead call
FsRtlRegisterUncProvider. This causes FsRtlRegisterUncProvider to return
status STATUS_NO_SUCH_DEVICE.

Be sure that your redir is loaded after MUP.SYS

The DeviceType of the redir’s device object must have the “network file system”
value, otherwise, Word’s and Excel’s File Open dialogs will behave extremely in
nonsensual way - even with properly debugged NP DLL.

What happend is, that the second I enter the last "", then the
IOCTL_REDIR_QUERY_PATH code gets called immediately with
“\xxxxx@domain.com\PIPE\wkssvc”. This is being followed with 6

Correct. The Lanman’s NP DLL tries to access something on the server,
considering it to be Lanman. Just fail the call, it’s OK.

The real issue cones next. When I enter the final file name and press enter,
then FileSpy reports that the Path “\xxxxx@domain.com\somefile.txt” is being
processed by “svchost.exe”, and not by the “System” or “explorer.exe”
process.

So what? Is your redir working properly? Why do you care about this minor
things?

So I was wondering if my registry settings are wrong, or that my MPR
(Network Provider DLL) is not doing the right thing?

Command-line file accesses using UNC names - or just CreateFile with the UNC
name - will work fine even without the NP DLL at all. I would prefer to first
debug and test without the NP DLL.

NP DLL is used:

  • for NET USE command line app
  • for the shell access to your redir namespace
  • for File Open and File Save As boxes

Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com

Hi Maxim,

Ok, I concentrated on the UNC part of my redirector, and got that to work
using a command prompt. The next is to fine tune the Networking API’s in my
DLL. Thanks a lot for your comments, they let me in the right direction.

Ole

“Maxim S. Shatskih” wrote in message
news:xxxxx@ntfsd…
>> I have some issues with my network redirector, running WinXP. Based one
>> the
>> earlier topic “Volumes for network redirector?” I was under the
>> impression
>> that a network redirector do not call IoRegisterFileSystem, but instead
>> call
>> FsRtlRegisterUncProvider. This causes FsRtlRegisterUncProvider to return
>> status STATUS_NO_SUCH_DEVICE.
>
> Be sure that your redir is loaded after MUP.SYS
>
> The DeviceType of the redir’s device object must have the “network file
> system”
> value, otherwise, Word’s and Excel’s File Open dialogs will behave
> extremely in
> nonsensual way - even with properly debugged NP DLL.
>
>> What happend is, that the second I enter the last "", then the
>> IOCTL_REDIR_QUERY_PATH code gets called immediately with
>> “\xxxxx@domain.com\PIPE\wkssvc”. This is being followed with 6
>
> Correct. The Lanman’s NP DLL tries to access something on the server,
> considering it to be Lanman. Just fail the call, it’s OK.
>
>> The real issue cones next. When I enter the final file name and press
>> enter,
>> then FileSpy reports that the Path “\xxxxx@domain.com\somefile.txt” is
>> being
>> processed by “svchost.exe”, and not by the “System” or “explorer.exe”
>> process.
>
> So what? Is your redir working properly? Why do you care about this minor
> things?
>
>> So I was wondering if my registry settings are wrong, or that my MPR
>> (Network Provider DLL) is not doing the right thing?
>
> Command-line file accesses using UNC names - or just CreateFile with the
> UNC
> name - will work fine even without the NP DLL at all. I would prefer to
> first
> debug and test without the NP DLL.
>
> NP DLL is used:
> - for NET USE command line app
> - for the shell access to your redir namespace
> - for File Open and File Save As boxes
>
> Maxim Shatskih, Windows DDK MVP
> StorageCraft Corporation
> xxxxx@storagecraft.com
> http://www.storagecraft.com
>
>
>