Share via


FilterDriverUnload (Compact 7)

3/12/2014

The system calls a filter driver's FilterDriverUnload routine to perform any operations that are required before the system unloads the driver.

Syntax

VOID 
  FilterDriverUnload(
    IN PDRIVER_OBJECT  DriverObject 
    );

Parameters

  • DriverObject
    A caller-supplied pointer to a DRIVER_OBJECT structure. This is the filter driver's driver object.

Return Value

None

Remarks

The operating system unloads a driver when the driver is being replaced, when all the devices the driver services have been removed, or when driver initialization fails. A filter driver supplies the entry point for a FilterDriverUnload function in the DriverUnload member of the DRIVER_OBJECT structure that was passed to its DriverEntry routine.

FilterDriverUnload performs driver-determined cleanup operations. FilterDriverUnload should undo all the operations that were performed in the DriverEntry routine.

A filter driver must call the NdisFDeregisterFilterDriver function from FilterDriverUnload.

If there are active filter modules associated with this filter driver, NDIS calls the FilterDetach function one time for each such filter module. The system does not call FilterDriverUnload until all active filter modules are detached.

A filter driver's FilterDriverUnload routine executes in a system thread context at IRQL = PASSIVE_LEVEL.

Requirements

Header

filter.h

See Also

Reference

NDIS Filter Driver Functions
DriverEntry of NDIS Filter Drivers
FilterDetach
NdisFDeregisterFilterDriver