Ok, so after doing some more digging, I've found the API's in MSDN here:
http://msdn.microsoft.com/en-us/library/windows/desktop/hh780509(v=vs.85).aspx.
Now, quoting the mobile-operator-hardware-guidelines specs (feb 28, 2012), it states (middle of page 6):
" It is important to note that the Device Services API is
accessible to any application. Developers should carefully consider privacy and security when
communicating information through this pipe. "
However from my test app and from the MB COM sample app I find that IMbnDeviceServicesContext::EnumerateDeviceServices and IMbnDeviceServicesContext::GetDeviceService both return E_ACCESSDENIED if the app is not "privileged".
This contradicts the guideline specs indicating that this API is accessible by
any application. Can someone from microsoft please confirm if this is a bug or is it by design?
If it is by design, this creates a huge problem -- For any given network carrier whom can only authorize a maximum of 2 privileged metro apps, how can they possibly support a varying number of MB vendors, if for
each vendor has their own custom device services definitions.. and have no abiility to write their own metro app to access these services??