The following messages can be received by an NDI procedure.
| Message | Description |
|---|---|
| NDI_CREATE | Sent when an NDI object is being created and all internal structures have been initialized. |
| NDI_DESTROY | Sent when an NDI object is being destroyed. |
| NDI_VALIDATE | Sent when the system sends DIF_VALIDATECLASSDRIVERS so the NDI procedure can verify its parameters and prompt the user if there is a problem. |
| NDI_INSTALL | Sent when NETDI is installing the device (when the Install INF section is called) |
| NDI_HASPROPPAGES | Sent to determine if the NDI procedure has any custom property pages. |
| NDI_ADDPROPPAGES | Sent to display the properties dialog for the driver. |
| NDI_REMOVE | Sent when the driver is being removed from the system |
| NDI_FIRSTTIMESETUP | Sent when the system sends DIF_FIRSTTIMESETUP to allow the NDI procedure to do any upgrade or first-time configuration operations. |
| NDI_QUERY_BIND | Sent to inform the NDI procedure that a binding is about to be added by NdiBind() |
| NDI_NOTIFY_BIND | Sent to inform the NDI procedure that a binding has been added by NdiBind(). |
| NDI_NOTIFY_UNBIND | Sent to inform the NDI procedure that a binding has been removed by NdiUnbind(). |
| NDI_SYSTEMCHANGE | Notification that an object was added or removed from the system. |
| NDI_NDICREATE | Sent before allocating the NDI object. |
| NDI_NDIDESTROY | Sent before deallocating the NDI object. |