What is the life-cycle of a native driver?
The life-cycle of a native driver is very similar to the life-cycle of a Java driver. The differences are in how the driver is created and in the fact that DirXML notifies the driver when it is no longer needed so that the driver can perform resource cleanup (such notification is not needed in Java since the JVM handles deallocation, etc.). Creating the driver To create a native driver DirXML loads the driver’s implementation module (dll, nlm, or shared library) and calls the exported CreateDriver function. The CreateDriver function creates an instance of the native driver object that implements DriverShim and returns a pointer to the object. DirXML then uses the DriverShim methods exactly as described in the general FAQ. Destroying the driver After DirXML has called DriverShim::shutdown() and after the Publisher thread has returned from PublicationShim::start() DirXML calls the DriverShim::destroy() method. At this point it is safe for the driver to cleanup any resources used and it i