Intermediate Driver Notify Object (NDIS 5.1)
Note NDIS 5. x has been deprecated and is superseded by NDIS 6. x. For new NDIS driver development, see Network Drivers Starting with Windows Vista. For information about porting NDIS 5. x drivers to NDIS 6. x, see Porting NDIS 5.x Drivers to NDIS 6.0.
An intermediate driver notify object is an extension of the network class installer. The network class installer loads and initializes your notify object and sends it notifications of events (such as virtual miniport removal notifications) related to your driver. If you want an overview of notify objects in general or more information about notify objects, see Notify Objects for Network Components.
To include the notify object in your installation, you must reference it in your intermediate driver protocol INF. Filter intermediate drivers do not require a notify object. You can include a notify object with your filter intermediate driver if you would like to provide more flexible configuration options to your user. For more information about including a notify object with your filter intermediate driver, see Using a Notify Object DLL with a Filter Intermediate Driver.
On Windows 2000 you can use the notify object or a custom setup application to copy the miniport INF file to the system INF directory. For either of these, you use SetupCopyOEMInf (described in the Microsoft Windows SDK documentation) to copy the INF. For Windows 2000 SP2and later versions you should use the INF CopyINF Directive in the protocol INF to copy the miniport INF. For more information about copying INF files, see Copying INFs.
A MUX intermediate driver notify object must provide services to install and remove virtual miniports. This can be done automatically or by providing a user interface. It must manage the virtual miniports' device name list in the registry. The device name list defines the bindings between virtual miniports and physical devices. For example, the n-to-one MUX intermediate driver sample notify object maintains a list of virtual miniports bound to each physical device in an UpperBindings registry entry. The MUX sample driver reads the UpperBindings list and initializes a virtual miniport for each entry.
Your MUX intermediate driver should use the UpperRange/LowerRange entries to control external bindings. However, you can control external bindings from your notify object if necessary. For more information about bindings in intermediate drivers, see Intermediate Driver UpperRange And LowerRange INF File Entries
Your notify object can optionally provide a user interface that allows the user to change or view your driver's configuration. The MUX intermediate driver sample includes an example user interface for a notify object.