Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.
How to Identify Device management plug-ins
Device management Plug-ins are Ecom plug-ins, thus you can get the plug-in information array easily by using REComSession API’s ListImplementationsL() function, the required interface UID is defined in SmlDmAdapter.h header file.
Usually Ecom plug-ins will define name & other information in their resource file, unfortunately device management plug-ins often only define their UID vale and leave other strings empty. This means that you can not know which plug-in UID corresponds to which device management plug-in by just checking the implementation array with REComSession.
And for this reason, to obtain the name of the plug-in, you actually need to construct it.
When constructing Device management plug-ins, you first construct the object with CSmlDmAdapter API’s NewL() function. This function takes the implementation UID as an argument, and it is used to load the right Ecom plug-in.
After constructing the plug-in instance, you always need to call DDFStructureL() function. This function builds the device management object tree by calling the callback you have given to the functions. A notable issue with DDFStructureL() is that it will first give the Root name to the callback function, thus you could identify each Device management plug-in by its root name.
To check which root name belongs to which device management plug-in, you could read the DDF documentation for each device management plug-in. Good amount of documentation can be found from Nokia Developer Device management documentation (archived).
Example sourse code: File:DM GetPlugIns.zip