Aplikasi Dukungan Perangkat Keras (HSA): Langkah-langkah untuk Pengembang Aplikasi

Topik ini menjelaskan cara mengaitkan aplikasi khusus perangkat dengan titik akhir driver atau RPC (Panggilan Prosedur Jarak Jauh). Ketika dipasangkan dengan cara ini, aplikasi disebut sebagai Hardware Support App (HSA). Anda dapat mendistribusikan dan memperbarui Aplikasi Dukungan Perangkat Keras melalui Microsoft Store.

Mulailah dengan aplikasi Platform Windows Universal (UWP) atau aplikasi desktop (Win32). Jika Anda ingin menggunakan aplikasi desktop, gunakan Desktop Bridge untuk membuat Paket Aplikasi Windows yang dapat Anda unggah ke Store.

Halaman ini menjelaskan prosedur untuk aplikasi UWP, tetapi langkah-langkahnya mirip untuk opsi Win32.

Langkah-langkah untuk pengembang driver dijelaskan dalam Hardware Support App (HSA): Langkah-langkah untuk Pengembang Driver.

Memulai

Pertama, instal versi terbaru Visual Studio dan buat proyek aplikasi UWP. Untuk membangun aplikasi UWP dengan kemampuan kustom, Anda memerlukan Windows SDK versi 10.0.15063 (Windows 10 Creators Update) atau yang lebih baru. File proyek Anda juga harus menentukan versi 10.0.15063 atau yang lebih tinggi. Untuk bantuan selengkapnya tentang mengonfigurasi, lihat Mengembangkan aplikasi UWP menggunakan Visual Studio.

Mulai Windows 10 versi 1709, Anda dapat menentukan bahwa aplikasi Platform Windows Universal (UWP) hanya boleh dimuat jika driver tertentu ada. Untuk mempelajari caranya, lihat Memasangkan driver dengan aplikasi UWP.

Membuat akun Microsoft Store

Akun pengembang di Microsoft Store diperlukan. Mitra perangkat keras akan memerlukan akun Microsoft Store yang berbeda dari akun mitra Perangkat Keras mereka. Anda akan memerlukan nama penerbit saat menulis manifes aplikasi dan metadata perangkat di langkah-langkah selanjutnya. Anda juga dapat memesan nama untuk aplikasi setelah membuat profil toko.

Untuk membuat akun Microsoft Store, buka Dapatkan terdaftar. Untuk informasi selengkapnya, lihat Menerbitkan aplikasi dan permainan Windows.

Memilih bahasa pemrograman untuk aplikasi

Jika aplikasi Anda akan berkomunikasi dengan driver, Anda dapat menggunakan Windows.Devices.Custom, yang merupakan bagian dari WinRT API, dan karenanya tersedia di JavaScript, C#, dan C++.

Jika aplikasi Anda akan berkomunikasi dengan layanan NT, maka Anda perlu menggunakan API RPC. Karena API RPC adalah API Win32 yang tidak tersedia di WinRT, Anda perlu menggunakan C++, C++/CLI, atau membungkus panggilan RPC menggunakan interop .NET (PInvoke). Untuk informasi selengkapnya, lihat Memanggil Fungsi Asli dari Kode Terkelola dan pemrograman .NET dengan C++/CLI.

Hubungi pemilik kapabilitas kustom

Sekarang Anda siap untuk meminta akses ke kemampuan kustom dari pemilik kemampuan. Anda harus mengumpulkan info berikut:

  • PFN Aplikasi (Nama Keluarga Paket) dari Microsoft Store

  • Nama kemampuan kustom

  • Hash Tanda Tangan sertifikat penandatanganan aplikasi yang dapat dihasilkan dari file .cer Anda menggunakan certutil.exe. Sertifikat harus SHA-256.

Untuk menghasilkan hash tanda tangan, jalankan C:\Windows\System32\certutil.exe -dump CertificateName.cer.

Cari hash tanda tangan di dekat bagian bawah dan pastikan itu SHA256. Jika tidak, gunakan sertifikasi SHA256 untuk menandatangani aplikasi Anda. Hasilnya akan terlihat seperti ini:

Signature Hash:
ca9fc964db7e0c2938778f4559946833e7a8cfde0f3eaa07650766d4764e86c4

Pemilik kemampuan menggunakan info ini untuk menghasilkan file Deskriptor kemampuan kustom yang Ditandatangani dan mengirim file ini ke pengembang aplikasi.

Pengembang aplikasi dapat terus mengembangkan aplikasi dengan kemampuan kustom dalam mode pengembang sambil menunggu pemilik kemampuan menyetujui permintaan. Misalnya, gunakan yang berikut ini di SCCD pada PC desktop dalam Mode Pengembang:

  • Entri katalog di SCCD.

    <Catalog>FFFF</Catalog>
    
  • Hash Tanda Tangan Sertifikat dalam entri entitas yang diotorisasi di SCCD. Meskipun tidak diberlakukan atau divalidasi, harap letakkan urutan 64-char.

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

Menambahkan kemampuan kustom ke Manifes Paket Aplikasi

Selanjutnya, ubah file sumber manifes paket aplikasi Anda (Package.appxmanifest) untuk menyertakan atribut kemampuan.

<?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>

Kemudian salin file SCCD ke akar paket paket appx. Di penjelajah solusi Visual Studio, klik kanan pada "project-> Add -> Existing Item..." untuk menambahkan SCCD ke proyek Anda.

Menambahkan file SCCD ke dalam paket appx.

Tandai SCCD sebagai konten build dengan mengklik kanan pada file SCCD dan mengubah Konten menjadi True. Untuk proyek C#, gunakan properti Build Action = Content, dan untuk proyek JavaScript, gunakan Package Action = Content.

Menandai SCCD sebagai konten.

Terakhir, klik kanan proyek, pilih Simpan, lalu Buat Paket Aplikasi.

Tidak ada dukungan untuk aplikasi UWP dengan kemampuan kustom pada platform seluler.

Menginstal Aplikasi

Untuk menginstal aplikasi UWP terlebih dahulu dengan kemampuan kustom, gunakan DISM - Deployment Image Servicing and Management.

Pemecahan Masalah

Saat komputer target dalam Mode Pengembang, Anda dapat mencoba langkah-langkah berikut untuk men-debug kegagalan pendaftaran aplikasi:

  1. Hapus entri kemampuan kustom dari manifes AppX Anda.

  2. Buat aplikasi Anda dan sebarkan.

  3. Di jendela PowerShell, ketik Get-AppxPackage.

  4. Cari aplikasi Anda dalam daftar dan verifikasi nama keluarga paket yang tepat untuk aplikasi Anda.

  5. Perbarui SCCD Anda dengan nama keluarga paket.

  6. Tambahkan entri kemampuan kustom kembali ke manifes AppX Anda.

  7. Bangun kembali dan sebarkan.

Lihat juga

Aplikasi Dukungan Perangkat Keras (HSA): Langkah-langkah untuk Pengembang Driver

Aktifkan perangkat Anda untuk pengembangan

Sampel Kemampuan Kustom

Memulai Driver Windows

Memasangkan driver dengan aplikasi Platform Windows Universal (UWP)

Pengantar untuk Universal Windows Platform

Universal Windows Platform (UWP)