Client Code Into the Driver We use the W3C WebDriver protocol to communicate with a local instance of an HTTP server. This greatly simplifies the implementation of the language-specific code, and minimzes the number of entry points into the C++ DLL that must be called using a native-code interop technology such as JNA , ctypes , pinvoke or DL . Memory Management The IE driver utilizes the Active Template Library (ATL) to take advantage of its implementation of smart pointers to COM objects.