Wrong File System Filter Driver Stack in Vista

In Vista, file system filter drivers are stacked in a wrong stacking order.
You can see this by a simple test.

Start Type and Load Order Group of file system filters are shown below.
Notice the Start Type and the Load Order Group of FileSpy is modified
from the sample inf.

File System Filter Settings:
FileSpy:
Start Type: 0(SERVICE_BOOT_START)
Load Order Group: FSFilter Encryption
Sfilter:
Start Type: 0(SERVICE_BOOT_START)
Load Order Group: FSFilter Activity Monitor
MpFilter:
Start Type: 3(SERVICE_DEMAND_START)
Load Order Group: FSFilter Anti-Virus

If we have one legacy filter driver the driver stack is correct.
fltmc.exe shows that MpFilter is on top of FileSpy.

Filter Name Num Instance Altitude
Frame


MpFilter 4 328000
1
FileSpy
149998.99
luafv 1
135000 0
FileInfo 4 45000
0

If we load Sfilter and FileSpy fltmc.exe shows the driver stack
in a wrong stacking order.
FileSpy is on top of MpFilter though its lower Altitude.
If FileSpy is an encryption filter driver as “FSFilter Encryption”
it won’t work properly.

Filter Name Num Instance Altitude
Frame
------------------------------ ------------- ------------ -----
Sfilter
389998.99
FileSpy
149998.99
MpFilter 4 328000
0
luafv 1 135000
0
FileInfo 4 45000
0

My question is:
Why does not the altitude of FileSpy work?

Thanks in advance.

Ichito Akimoto