Or Continue to Thread: Undocumented Capabilities in W…
Find Your Device:
11th November 2010, 12:58 PM   |  #19  
Senior Member
Flag Sleaford, UK
Thanks Meter: 27
 
104 posts
Join Date:Joined: Dec 2009
More
On the subject of Native Applications on Windows Phone 7:

A few days ago, an Application called "Network Profile" appeared in the Samsung Zone of my Omnia 7's Marketplace.

This app is the first external app that uses native code - The Marketplace says that it "Requires access to your interop services", and on opening the XAP on my PC, I found it to contain three native COM DLLs, alongside two .NET DLLs and a further native DLL with MUIs that appear to only serve to hold resources.

I'm not sure whether this can be linked to here, so I'm going to describe the interesting parts.

It has not one, but three XMLs - the typical WMAppManifest.xml (pastebin.com/uEJWdTuA), a WMAppPRHeader.xml (pastebin.com/AVcv7JUX) which seems to have something to do with PlayReady DRM, and most interestingly WMInteropManifest.xml (pastebin.com/NCVKP6kM).

There is also the AppManifest.xaml (pastebin.com/rRrB090h).

The NetworkProfile.dll has a number of COM Imports like so:
Code:
 [ComImport, InterfaceType(ComInterfaceType.InterfaceIsIUnknown), Guid("F1113B13-AAB8-45E9-91A5-CBE568C29612")]
    internal interface INwProfInterface
The Constructor for the class containing all the COM Interfaces:

Code:
    ComBridge.RegisterComDll("NwProfDLL.dll", new Guid("4A2580BA-11A3-49AB-AC98-C30B5E72D381"));
    this.NwInterface = (INwProfInterface) new CNwProfClass();
    ComBridge.RegisterComDll("SecVersion.dll", new Guid("DFE52822-B526-4913-807A-D2AABC7BF911"));
    this.SecVerInterface = (ISecVersionInterface) new SecVersionClass();
    ComBridge.RegisterComDll("COMRilClient.dll", new Guid("A18F6B1A-924E-4787-AA82-19F98B49CF5D"));
    this.SecRILControlInterface = (ISecRilControl) new COSecRilControl();
Happy to answer any questions, and if allowed, either guide people to getting it themselves, or providing a download link to the XAP.