FPFilter

[This is preliminary documentation and subject to change.]

SUMMARY

FPFilter is a sample disk filter driver that demonstrates how a disk failure prediction filter driver could be implemented. A failure prediction filter driver can predict when a disk may fail and notify the disk driver stack of this condition. The disk driver stack will then alert the operating system to the condition. A failure prediction filter driver can use proprietary hardware requests and/or software algorithms to predict disk failure.

BUILDING THE SAMPLE

Follow these steps to WMI-enable a driver with the sample code:

1. Determine the algorithm to use to predict disk failure. Add code for this in the FpFilterDeviceControl routine where it handles the IOCTL_STORAGE_FAILURE_PREDICTION I/O control (IOCTL).

2. Disk drives that are implemented to the ATAPI SMART specification or the SCSI Informational Exceptions specification already have failure prediction support built into the disk driver stack. The filter driver can forward the IOCTL to the next device on its stack and examine the returned information to determine if the disk driver stack is reporting failure.

3. Enter the checked or free build environment. Then, while in the Fpfilter sample directory, type build. A successful build produces the binary Fpfilter.sys.

4. To install the failure prediction filter driver for a specific disk, first install the filter driver using the Add Hardware Wizard. This will install Fpfilter.inf. Then use the AddFilter tool to include the failure prediction filter driver as an upper filter on a specific physical disk.

RESOURCES

Please see the Kernel-Mode Drivers section of Microsoft® Windows®  2000 DDK documentation for more information.

CODE TOUR

File Manifest

File		Description

Fpfilter.c	Failure prediction filter driver code.
Fpfilter.rc	Resource file containing version information.
Fpfilter.inf	INF file used to install the filter driver service.
Makefile	Standard Microsoft® Windows NT®/Windows® 2000 makefile.
Sources		Sources for build.




Top of page

© Microsoft Corporation 1999