Hi, I need to dynamically load and un-load drivers from Platform Builder to
deal with a problem that i have explained below.
Can someone tell me how to do any of these two things:
1- Tell WinCE to load my ftdi_ser.dll (a third party dll for ftdiâ??s serial
over USB chip) after loading every other dll at boot time. (note platform.reg
"order" doenst work in this case).
2- Un-load and re-load the ftdi_ser.dll after completion of the boot up
either from the Platform Builder environment or programmatically.
The problem is that the ftdi-ser.dll driver behaves differently if WinCE is
started with the external ftdi device attached to the USB port:
Normal operation: If I boot up WinCE and then plug in a serial over usb
device into the WinCE deviceâ??s USB port, the external device is detected by
the OHCI.dll and its driver FTDI_SER.DLL gets loaded after Wince loads the
OHCI.dll and it then operates normally i.e. I can plug the device in and then
un-plug the device and re-plug and re-establish serial comms over the USB all
normally.
Abnormal operation:
If I boot up WinCE with the external USB device attached to the USB port
already, the FTDI_SER.DLL still gets loaded but USB doesnâ??t function also the
FTDI+_SER.DLL does not get un-loaded when I detach the external device from
the USB port.
There are also other symptoms, in the registry viewer i can see under
/Drivers/Builtin/Active that the FTDI_SER.DLL doesnâ??t get un-loaded and
re-enumerated as it is the case under Normal Operation.
As a solution, I must tell WinCE to load FTDI_SER.DLL after loading all
other dlls.
Or as a workaround I could get WinCE to un-load the FTDI_SER.dll after
loading all the dlls and then re-load it again.
Thanks and regards,
EZ