HardwareIdentification Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет возможность получения идентификатора оборудования, представляющего текущее оборудование.
public ref class HardwareIdentification abstract sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.System.Profile.ProfileHardwareTokenContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Standard)]
class HardwareIdentification final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.System.Profile.ProfileHardwareTokenContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Standard)]
public static class HardwareIdentification
Public Class HardwareIdentification
- Наследование
- Атрибуты
Требования к Windows
Семейство устройств |
Windows Desktop Extension SDK (появилось в 10.0.10240.0)
Windows Mobile Extension SDK (появилось в 10.0.10240.0) Windows 10 Anniversary Edition (появилось в 10.0.14393.0) |
API contract |
Windows.System.Profile.ProfileHardwareTokenContract (появилось в v1.0)
|
Примеры
В следующем коде показано, как получить идентификатор оборудования устройства с помощью GetPackageSpecificToken.
// nonce is an IBuffer object that would be sent from the cloud service.
HardwareToken packageSpecificToken;
packageSpecificToken = Windows.System.Profile.HardwareIdentification.GetPackageSpecificToken(nonce);
// hardware id, signature, certificate IBuffer objects
// that can be accessed through properties.
IBuffer hardwareId = packageSpecificToken.Id;
IBuffer signature = packageSpecificToken.Signature;
IBuffer certificate = packageSpecificToken.Certificate;
void MainPage::DefaultLaunch()
{
// nonce is a value of type Windows::Storage::Streams::IBuffer, which
// would be sent from the cloud service in a real scenario.
Windows::System::Profile::HardwareToken packageSpecificToken{
Windows::System::Profile::HardwareIdentification::GetPackageSpecificToken(nonce) };
// hardware id, signature, certificate IBuffer objects
// that can be accessed through properties.
Windows::Storage::Streams::IBuffer hardwareId{ packageSpecificToken.Id() };
Windows::Storage::Streams::IBuffer signature{ packageSpecificToken.Signature() };
Windows::Storage::Streams::IBuffer certificate{ packageSpecificToken.Certificate() };
}
// nonce is an IBuffer object that would be sent from the cloud service.
HardwareToken^ packageSpecificToken;
packageSpecificToken = Windows::System::Profile::HardwareIdentification::GetPackageSpecificToken(nonce);
// hardware id, signature, certificate IBuffer objects
// that can be accessed through properties.
IBuffer^ hardwareId = packageSpecificToken->Id;
IBuffer^ signature = packageSpecificToken->Signature;
IBuffer^ certificate = packageSpecificToken->Certificate;
// nonce is an IBuffer object that would be sent from the cloud service.
Dim packageSpecificToken As Windows.System.Profile.HardwareToken
packageSpecificToken = Windows.System.Profile.HardwareIdentification.GetPackageSpecificToken(nonce)
// hardware id, signature, certificate IBuffer objects
// that can be accessed through properties.
Dim hardwareId As Windows.Storage.Streams.IBuffer = packageSpecificToken.Id
Dim signature As Windows.Storage.Streams.IBuffer = packageSpecificToken.Signature
Dim certificate As Windows.Storage.Streams.IBuffer = packageSpecificToken.Certificate
Комментарии
Дополнительные сведения см. в статье Руководство по использованию идентификатора оборудования для конкретного приложения (ASHWID) для реализации логики приложения для каждого устройства .
Примечание
Этот класс не является гибким, что означает, что необходимо учитывать его потоковую модель и поведение маршалинга. Дополнительные сведения см. в разделах Потоки и маршалинг (C++/CX) и Использование объектов среда выполнения Windows в многопоточной среде (.NET).
Методы
GetPackageSpecificToken(IBuffer) |
Возвращает идентификатор оборудования (ASHWID), представляющий текущее оборудование. Возвращаемый ASHWID будет отличаться для каждого пакета приложения. Другими словами, этот API будет возвращать разные идентификаторы при вызове двумя приложениями из разных пакетов. Он возвращает один и тот же идентификатор при вызове двумя приложениями, которые являются частью одного пакета. |