I am developing a simplest device driver with S60 DP 2.0 SDK on my N6600, but I found it always return error KErrAccessDenied when I call LoadLogicalDevice( _L("MyDriver.ldd" )). I have also tried to copy ecomm.ldd to E:\System\Libs, and but found LoadLogicalDevice( _L("ecomm.ldd") ) always return KErrCorrupt error. It seems LoadLogicalDevice() only works with ROM builtin device drivers in S60, while it works for all drivers on UIQ 2.1.
Or maybe I need some extra setup like code signing to make it work? Could some experts explain me in some depth ? Thanks a lot.
My sample code listed below:
#include <kc_arm.h> // Borrowed from UIQ SDK 2.1
EXPORT_C DLogicalDevice* CreateLogicalDevice()
// This func was never called.
return NULL ;
GLDEF_C TInt E32Dll(TDllReason /*aReason*/)
UID 0x100000af 0x10009999
CreateLogicalDevice__Fv @ 1 NONAME
UID 0x100000AF 0x10009999
SYSTEMINCLUDE \epoc32\include \epoc32\include\kernel