Look in the SDK Documentation for RLibrary. Also read the Platform Security chapter which has the DLL loading rules.
Whether an application (or a DLL) must be certified or not it depends on what capabilities the application/DLL uses/declares. Of course certification is alwais recomended.
-- Lucian
There are a surprisinly large number of people who want to explicitly load their own dlls, and frequently get into problems doing so, yet the system will load and unload a DLL for you so I never really understand why they want to do it for themselves.
Some people want to hack Symbian at any cost, instead of just simply using it.
The Cynic, for example to implement plugins subsystem.
This code snippet might be helpful: Loading DLL by RLibrary
And, of course, don't forget about SDK help: check this section - Dynamically Loading Link Libraries
I forgot to mention, there are a surprisingly large number of people who want to load their own plug-ins, when ECOM will do it for you and in a standard manner. Replace something that is standard and works perfectly well and is seemless with something that isn't standard, frequently doesn't work well, isn't as seemless, and would be a lot of work to match all the functionality ECOM provides.
So I never really understand why they want to do it for themselves
Plugin architecture is already invented and implemented, that is ECOM.
However the RLibrary-based approach makes sense if someone can live without some component, but he/she can also make use of it. In this case RLibrary::Load-ing a custom .dll quickly tells if the system was able to resolve its dependencies (the component is present), or not.