Initializing and Unloading a SAN Proxy Driver

In addition to creating and initializing a device object for the driver object, the proxy driver's DriverEntry routine can register to be notified when NICs under the driver's control are either added or removed. For more information, see Registering for SAN NIC Notifications.

If the proxy driver's SAN service provider sends I/O control requests down to the proxy driver, then DriverEntry must specify an entry point that enables device control. The provider might request, for example, to retrieve the list of IP addresses assigned to the driver's NICs. An entry point for this request is an IRP_MJ_DEVICE_CONTROL dispatch routine that returns the list of IP addresses assigned to the driver's NICs. For more information, see Implementing IOCTLs for a SAN Service Provider.

The DriverEntry routine must specify an entry point for a routine that unloads the proxy driver. This unload routine removes the device that was created in DriverEntry.