Those implementing legacy file system filter drivers and monolithic redirectors will be particularly interested in some important changes in Windows Vista relating to the way that the Multiple UNC Provider (MUP) driver functions. Since these changes are specific to Windows Vista, you will probably need to distinguish between legacy platforms and Windows Vista at compile time (multiple driver binaries) or at run time (dynamic determination).
In the past, a file system driver (typically a redirector) that supported the universal naming convention (UNC) would register with MUP via the FsRtlRegisterUncProvider interface using a named device object. In Windows Vista, the registration is done using an unnamed device object and a call to FsRtlRegisterUncProviderEx, along with the name of its control device object.
Depending on the version of Windows and file system implementation, some redirectors have chosen to also register as file systems. However, because MUP now registers as a file system, your redirector no longer needs to do this. Listed below are descriptions of what this change means to you.
- For legacy filters that rely on file system registration change notifications, you will now see (and may filter) MUP. However, you may no longer see registrations for the individual redirectors.
- For legacy filters that used MUP registrations to detect file systems that did not register, you may need to revise your code so it no longer functions in this fashion. Alternatively, you may prefer to deal with seeing the same I/O operation twice - once when presented to MUP and a second time when presented to the UNC-supporting file system.
- For mini-filters, you will now see requests as they go to MUP and not to the underlying redirector. This may impact the presentation of names. At the time of this writing, we do not have sufficient information to describe the behavior changes in detail. For example, previously LAN Manager indicated two separate directories were opened when it's short and long name were used, even though that wasn't the case. We expect this behavior to change with MUP involved.
- For file systems that register as UNC providers, if you did not previously register as a file system, you would suddenly see filters interacting with you. You should expect to see significantly different behavior and access patterns.
- For file systems that register as UNC providers and register as file systems, you should modify your behavior to no longer register, otherwise you risk adding filters multiple times in your storage stack.
Anyone implementing a network redirector that must also work in the Windows Vista environment should be sure to read the detailed release notes in the WDK ("MUP Changes in Microsoft Windows Vista"). You should also allocate sufficient time for testing and resolving bugs. In addition, we strongly encourage you to participate in the Microsoft Plugfest events in order to work directly with the developers of file system filter drivers.