Aracılığıyla paylaş


Donanım Destek Uygulaması (HSA): Uygulama Geliştiricileri için Adımlar

Important

Cihaz meta verileri kullanım dışıdır ve windows'un gelecek bir sürümünde kaldırılacaktır. Bu işlevin değiştirilmesi hakkında bilgi için bkz . Sürücü Paketi Kapsayıcı Meta Verileri.

Bu makalede, cihaza özgü bir uygulamanın bir sürücü veya RPC (Uzaktan Yordam Çağrısı) uç noktasıyla nasıl ilişkilendirileceği açıklanır. Bu şekilde eşleştirildiğinde, uygulama donanım destek uygulaması (HSA) olarak adlandırılır. Bir Donanım Destek Uygulamasını Microsoft Store aracılığıyla dağıtabilir ve güncelleştirebilirsiniz.

Evrensel Windows Platformu (UWP) uygulaması veya masaüstü (Win32) uygulamasıyla başlayın. If you would like to use a desktop app, use the Desktop Bridge to create a Windows App Package that you can upload to the Store.

Bu sayfada bir UWP uygulamasının yordamı açıklanmaktadır, ancak Win32 seçeneği için adımlar benzerdir.

Sürücü geliştiricisinin adımları Donanım Destek Uygulaması (HSA): Sürücü Geliştiricileri için adımlar bölümünde açıklanmıştır.

Getting Started

İlk olarak, Visual Studio'nun en son sürümünü yükleyin ve bir UWP uygulama projesi oluşturun. Özel bir özelliğe sahip bir UWP uygulaması oluşturmak için Windows SDK sürüm 10.0.15063 (Windows 10 Creators Update) veya üzeri gerekir. Proje dosyanız da sürüm 10.0.15063 veya üzerini belirtmelidir. Yapılandırma hakkında daha fazla yardım için bkz. Visual Studio kullanarak UWP uygulamaları geliştirme.

Windows 10 sürüm 1709'dan başlayarak, Evrensel Windows Platformu (UWP) uygulamasının yalnızca belirli bir sürücü varsa yüklenmesi gerektiğini belirtebilirsiniz. Nasıl yapılacağını öğrenmek için bkz. UWP uygulamasıyla sürücü eşleştirme.

Microsoft Store hesabı oluşturma

Microsoft Store'da bir geliştirici hesabı gereklidir. Donanım iş ortaklarının Donanım iş ortağı hesaplarından farklı bir Microsoft Store hesabına ihtiyacı vardır. Sonraki adımlarda uygulama bildirimini ve cihaz meta verilerini yazarken yayımcı adına ihtiyacınız vardır. Mağaza profili oluşturduktan sonra uygulamanız için bir ad ayırabilirsiniz.

Microsoft Store hesabı oluşturmak için Windows Geliştirme Merkezi'ne gidin. Daha fazla bilgi için bkz. Windows uygulamalarını ve oyunlarını yayımlama.

Uygulama için programlama dili seçme

If your app communicates with a driver, you can use Windows.Devices.Custom, which is part of the WinRT API, and therefore available in JavaScript, C#, and C++.

Uygulamanız bir NT hizmetiyle iletişim kurarsa RPC API'lerini kullanmanız gerekir. RPC API'leri WinRT'de bulunmayan Win32 API'leri olduğundan, C++, C++/CLI kullanmanız veya .NET birlikte çalışma (PInvoke) kullanarak RPC çağrılarını sarmalamanız gerekir. Daha fazla bilgi için bkz. C++/CLI ileYönetilen Koddan Yerel İşlevleri çağırma ve .NET programlama.

Özel yetenek sahibine başvurun

Artık bir özellik sahibinden özel bir özelliğe erişim istemeye hazırsınız. Aşağıdaki bilgileri toplamanız gerekir:

  • Microsoft Store'dan Paket Aile Adı (PFN) uygulaması
  • Özel özelliğin adı
  • certutil.exekullanılarak .cer dosyanızdan oluşturulabilen uygulama imzalama sertifikasının İmza Karması. Sertifika SHA-256 olmalıdır.

İmza karması oluşturmak için komutunu çalıştırın C:\Windows\System32\certutil.exe -dump CertificateName.cer.

Alt kısımdaki imza karmasını arayın ve SHA256 olduğundan emin olun. Aksi takdirde, uygulamanızı imzalamak için bir SHA256 sertifikası kullanın. Sonuç şu şekilde görünmelidir:

Signature Hash:
ca9fc964db7e0c2938778f4559946833e7a8cfde0f3eaa07650766d4764e86c4

Özellik sahibi bu bilgileri kullanarak İmzalı özel yetenek Tanımlayıcısı dosyası oluşturur ve bu dosyayı uygulama geliştiricisine gönderir.

Uygulama geliştiricisi, özellik sahibinin isteği onaylamasını beklerken geliştirici modunda özel özelliklere sahip bir uygulama geliştirmeye devam edebilir. For example, use the following entries in the SCCD on a desktop PC in Developer Mode:

  • SCCD'de katalog girdisi.

    <Catalog>FFFF</Catalog>
    
  • SCCD'deki yetkilendirilmiş varlık kaydında Sertifika İmza Karması. Zorlanmasa veya doğrulanmasa da 64 karakterlik bir dizi koyun.

    <AuthorizedEntity AppPackageFamilyName="MicrosoftHSATest.Microsoft.SDKSamples.Hsa.CPP_q536wpkpf5cy2" CertificateSignatureHash="ca9fc964db7e0c2938778f4559946833e7a8cfde0f3eaa07650766d4764e86c4"></AuthorizedEntity>
    

Uygulama Paketi Bildirimi'ne özel bir özellik ekleme

Ardından, uygulama paketi bildirim kaynak dosyanızı (Package.appxmanifest) bir capabilities özniteliği içerecek şekilde değiştirin.

<?xml version="1.0" encoding="utf-8"?>
<Package
  ...
  xmlns:uap4="http://schemas.microsoft.com/appx/manifest/uap/windows10/4">
...
<Capabilities>
    <uap4:CustomCapability Name="CompanyName.customCapabilityName_PublisherID"/>
</Capabilities>
</Package>

Ardından SCCD dosyasını appx paketinin paket köküne kopyalayın. Visual Studio'nun çözüm gezgininde "project-> Ekle -> Varolan Öğe..." menü seçeneğine sağ tıklayın ve SCCD'yi projenize ekleyin.

appx paketine SCCD dosyası ekleme.

Mark the SCCD as build content by right clicking on the SCCD file and changing Content to True. C# projesi için özelliğini Build Action = Contentkullanın ve JavaScript projesi için kullanın Package Action = Content.

SCCD'nin içerik olarak işaretlenmesi.

Finally, right-click the project, select Store, then Create App Packages.

Mobil platformlarda özel özelliklere sahip UWP uygulamaları için destek yoktur.

Uygulamayı Yükleme

Özel özelliklere sahip bir UWP uygulamasını önceden yüklemek için DISM - Dağıtım Görüntüsü Bakımı ve Yönetimi'ni kullanın.

Troubleshooting

Hedef makine Geliştirici Modu'ndayken uygulama kayıt hatasının hatalarını ayıklamak için aşağıdaki adımları deneyebilirsiniz:

  1. AppX bildiriminizden özel yetenek girdisini kaldırın.
  2. Uygulamanızı derleyin ve dağıtın.
  3. PowerShell penceresinde yazın Get-AppxPackage.
  4. Listede uygulamanızı arayın ve uygulamanızın tam paket ailesi adını doğrulayın.
  5. SCCD'nizi paket ailesi adıyla güncelleştirin.
  6. Özel yetenek girdisini AppX bildiriminize geri ekleyin.
  7. Yeniden derleyin ve dağıtın.