I see that the IFS SDK has finally been merged into the main WDK for Vista. However, the two samples it comes with (nulmrx and mrxsmb) are only configured to build for Vista, not XP or 2K3.
It’s fairly trivial to modify them to build under the XP WDK environment, however thus far I haven’t had any success getting the nulmrx sample working on XP - the service is registered and running, and the NetworkProvider entries are set up, but trying to map \nulsvr\share just brings back “The system cannot find the file specified”.
I’m not sure if that’s because of something wrong with the driver or a problem with how it’s installed.
Has anyone had luck building Network Redirectors for XP using the WDK, or do I need to order the Win2k3 IFS kit from Microsoft?
FYI, after some additional debugging I’ve come to the conclusion that this sample was definitely may have been derived from an XP sample at some point, but is certainly not designed to run on XP now. With a few fixes I was able to get it to work, but I’m concerned that there may be other gotchas lurking, so it looks like I’ll need to order the Win2k3 IFS kit and get the “real” samples.
For reference, here are the changes I needed to make to get it to run under XP:
-RxStartMinirdr is called in the driver entry, which isn’t allowed according to the docs and doesn’t work under XP. I moved it to run under an IOCTL request
-In NulMRxCreate and NulMRxCleanupFobx Fcb->pNetRoot is assumed to be valid, but under XP it can be NULL it appears. It’s only used for some sanity checking, so that can be skipped on XP.
Perhaps you have already done this, but I would recommend confirming
with someone this list who would know (which excludes me) whether the
IFS 2K3 contains the samples you think that it does.
mm
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of
xxxxx@jungledisk.com
Sent: Saturday, August 18, 2007 18:58
To: Windows File Systems Devs Interest List
Subject: RE:[ntfsd] Network Redirector for WinXP from WDK?
FYI, after some additional debugging I’ve come to the conclusion that
this sample was definitely may have been derived from an XP sample at
some point, but is certainly not designed to run on XP now. With a few
fixes I was able to get it to work, but I’m concerned that there may be
other gotchas lurking, so it looks like I’ll need to order the Win2k3
IFS kit and get the “real” samples.
For reference, here are the changes I needed to make to get it to run
under XP:
-RxStartMinirdr is called in the driver entry, which isn’t allowed
according to the docs and doesn’t work under XP. I moved it to run under
an IOCTL request
-In NulMRxCreate and NulMRxCleanupFobx Fcb->pNetRoot is assumed to be
valid, but under XP it can be NULL it appears. It’s only used for some
sanity checking, so that can be skipped on XP.
NTFSD is sponsored by OSR
For our schedule debugging and file system seminars
(including our new fs mini-filter seminar) visit:
http://www.osr.com/seminars
You are currently subscribed to ntfsd as: xxxxx@evitechnology.com
To unsubscribe send a blank email to xxxxx@lists.osr.com
Yes, if anyone could comment as to whether the Win2k3 IFS kit includes the nulmrx sample that would be helpful. The online docs only mention the smbmrx sample (which would still be helpful to have a version that works under XP).
That being said, a search through these forums shows references to nulmrx for years, so I assume it’s been included in earlier versions of the IFS than the one that came in last year’s WDK.
The 2K3 IFS kit I have in front of me (3790) has the nulmrx sample in src/filesys/nulmrx. There’s versions for 2K and XP included.
>> -In NulMRxCreate and NulMRxCleanupFobx Fcb->pNetRoot is assumed to be
> valid, but under XP it can be NULL it appears. It’s only used for some
WDK contains libraries for older OSs than vista compiled under IFS KIT WS 2003 SP1 (3790). The structure FSRTL_ADVANCED_FCB_HEADER was extended in WDK by two members, so it has different size in your source code (nullmrx) compiled under WDK. So Fcb->pNetRoot points to different location then you suppose because FSRTL_ADVANCED_FCB_HEADER fcb member shifts it by 8 bytes.
If you participate in WDK beta program you can see details here (after logon to MS connect)
https://connect.microsoft.com/feedback/ViewFeedback.aspx?FeedbackID=288950&SiteID=148
In case you use also mini-redirector library for TDI (The sample smbmrx uses it). There is one additional trap. The structure RXCE_CONNECTION_EVENT_HANDLER is incompatible across all platforms. It has switched members RxCeSendCompleteEventHandler, and RxCeSendSubmittedEventHandler for Win2k and WinXP. This bug was introduced in IFS KIT WS 2003 SP1 (3790).