Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описывается связывание приложения для конкретного устройства с конечной точкой драйвера или RPC (удаленный вызов процедуры). При сопряжении в этой конфигурации это приложение называется приложением поддержки оборудования (HSA). Вы можете распространять и обновлять приложение поддержки оборудования через Microsoft Store.
Начните с приложения Универсальная платформа Windows (UWP) или классического приложения (Win32). Если вы хотите использовать настольное приложение, используйте Desktop Bridge для создания пакета приложений Windows, который можно отправить в Microsoft Store.
На этой странице описывается процедура для приложения UWP, но шаги аналогичны параметру Win32.
Действия разработчика драйверов описаны в приложении поддержки оборудования (HSA): действия для разработчиков драйверов.
Getting Started
Сначала установите последнюю версию Visual Studio и создайте проект приложения UWP. Чтобы создать приложение UWP с пользовательской возможностью, вам потребуется пакет SDK для Windows версии 10.0.15063 (Windows 10 Creators Update) или более поздней версии. Файл проекта также должен указать версию 10.0.15063 или более позднюю. Дополнительные сведения о настройке см. в статье "Разработка приложений UWP с помощью Visual Studio".
Начиная с Windows 10 версии 1709, можно указать, что приложение универсальная платформа Windows (UWP) должно загружаться только в том случае, если присутствует конкретный драйвер. Дополнительные сведения см. в статье "Связывание драйвера с приложением UWP".
Создание учетной записи Microsoft Store
Требуется учетная запись разработчика в Microsoft Store. Партнерам по оборудованию требуется учетная запись Microsoft Store, отличная от учетной записи партнера по оборудованию. Вам потребуется имя издателя при создании манифеста приложения и метаданных устройства в последующих шагах. Вы также можете зарезервировать имя приложения после создания профиля магазина.
Чтобы создать учетную запись Microsoft Store, перейдите в Центр разработки для Windows. Дополнительные сведения см. в статье "Публикация приложений и игр Windows".
Выбор языка программирования для приложения
Если приложение взаимодействует с драйвером, можно использовать Windows.Devices.Custom, который является частью API WinRT и поэтому доступен в JavaScript, C#и C++.
Если приложение взаимодействует со службой NT, необходимо использовать API RPC. Так как API RPC — это API Win32, которые недоступны в WinRT, необходимо либо использовать C++, C++/CLI, либо упаковать вызовы RPC с помощью взаимодействия .NET (PInvoke). Дополнительные сведения см. в статье "Вызов собственных функций" из управляемого кода и программирования .NET с помощью C++/CLI.
Обратитесь к владельцу настраиваемых возможностей
Теперь вы готовы запросить доступ к настраиваемой возможности у владельца возможности. Вам нужно собрать следующие сведения:
- Приложение PFN (имя семейства пакетов) из Microsoft Store
- Имя настраиваемой возможности
- Хэш подписи сертификата для подписи приложения, который можно сгенерировать из вашего файла .cer с помощью certutil.exe. Сертификат должен быть SHA-256.
Чтобы создать хэш подписи, выполните команду C:\Windows\System32\certutil.exe -dump CertificateName.cer.
Найдите хэш подписи в нижней части и убедитесь, что это SHA256. В противном случае используйте сертификат SHA256 для подписывания приложения. Результат должен выглядеть следующим образом:
Signature Hash:
ca9fc964db7e0c2938778f4559946833e7a8cfde0f3eaa07650766d4764e86c4
Владелец возможностей использует эти сведения для создания подписанного дескриптора пользовательской возможности и отправляет этот файл разработчику приложения.
Разработчик приложения может продолжить разработку приложения с пользовательскими возможностями в режиме разработчика, ожидая утверждения запроса владельцем возможности. Например, используйте следующие записи в SCCD на настольном компьютере в режиме разработчика:
Запись каталога в системе SCCD.
<Catalog>FFFF</Catalog>Хеш подписи сертификата в записи авторизованного объекта в SCCD. Хотя это не обязательно и не проверяется, вставьте последовательность из 64 символов.
<AuthorizedEntity AppPackageFamilyName="MicrosoftHSATest.Microsoft.SDKSamples.Hsa.CPP_q536wpkpf5cy2" CertificateSignatureHash="ca9fc964db7e0c2938778f4559946833e7a8cfde0f3eaa07650766d4764e86c4"></AuthorizedEntity>
Добавление пользовательской возможности в манифест пакета приложений
Затем измените исходный файл манифеста пакета приложения ,Package.appxmanifest чтобы включить атрибут возможностей.
<?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>
Затем скопируйте SCCD-файл в корневой каталог пакета appx. В обозревателе решений Visual Studio щелкните правой кнопкой мыши пункт "Проект - Добавить существующий элемент", чтобы добавить SCCD в проект.
Отметьте SCCD как контент сборки, щелкнув правой кнопкой мыши на файле SCCD и изменив содержимое на True. Для проекта C# используйте свойство Build Action = Contentи для проекта Package Action = ContentJavaScript.
Наконец, щелкните проект правой кнопкой мыши, выберите Магазин, а затем создайте пакеты приложений.
Нет поддержки приложений UWP с пользовательскими возможностями на мобильных платформах.
Установка приложения
Чтобы предустановить приложение UWP с пользовательскими возможностями, используйте DISM - Сервисное обслуживание и управление образами развертывания.
Troubleshooting
Если целевой компьютер находится в режиме разработчика, можно выполнить следующие действия для отладки сбоя регистрации приложения:
- Удалите запись пользовательской возможности из манифеста AppX.
- Создайте приложение и разверните его.
- В окне PowerShell введите
Get-AppxPackage. - Найдите приложение в списке и проверьте точное имя семейства пакетов для вашего приложения.
- Обновите SCCD с названием семейства пакетов.
- Добавьте в манифест AppX пользовательскую запись возможностей.
- Перестройте и разверните.
Связанные темы
- Приложение поддержки оборудования (HSA): шаги для разработчиков драйверов
- Включите устройство для разработки
- Пример кастомизированной функции
- Начало разработки драйверов Windows
- Связывание драйвера с приложением универсальной платформы Windows (UWP)
- Общие сведения об универсальной платформе Windows
- Универсальная платформа Windows (UWP)