如何使用命名空间--Microsoft.Phone.Info - 在WP 8.1或WP 8中的本机C ++中

时间:2015-03-10 22:35:02

标签: c++ windows-phone-8 windows-phone-8.1

我在WP8.1上的本地C ++环境中工作。

我想说我想调用像

这样的函数
Microsoft.Phone.Info::DeviceExtendedProperties.GetValue( "DeviceUniqueId" );

问题是无论我如何尝试,它都没有通过编译。

我知道" Microsoft.Phone.Info"是名称空间,

在C#ppl中写道:

using Microsoft.Phone.Info;

但是在C ++中,我试过

using namespace Microsoft.Phone.Info;

void func()
{
    DeviceExtendedProperties.GetValue("DeviceUniqueId");
}

没有通过编译。或

void func()
{
    Microsoft.Phone.Info::DeviceExtendedProperties.GetValue("DeviceUniqueId");
}

没有通过编译。

它一直告诉我这样的事情

'Microsoft' : illegal use of namespace identifier in expression

那么如何正确使用此命名空间?

谢谢你们的阅读和回答。 :-) 我无法找到用于重新获取设备ID的C ++示例。 :-P

3 个答案:

答案 0 :(得分:0)

在本机WP运行时中,使用命名空间遵循此语法

 using namespace Windows::Phone::Info;

但是你会发现命名空间在运行时不存在。仅限WP Silverlight。

因此,您可以查看此MSDN网页,该网页告诉您他们将所有功能从8.0 SL移动到8.1运行时。

Windows Phone Silverlight to Windows Runtime namespace and class mappings

然后,如果你搜索" Windows.Phone.Info"它会引导您进入您应该调用的新功能。

以下是ID:EasClientDeviceInformation class

答案 1 :(得分:0)

我想我明白了:

EasClientDeviceInformation^ deviceInfo = ref new EasClientDeviceInformation();
deviceInfo->Id; //<- is what I want

答案 2 :(得分:0)

虽然可以在DeviceInformation上找到EasClientDeviceInformation中的许多属性,但设备ID不是其中之一。相反,您应该使用ASHWID来查看特定于应用程序的硬件ID。