• [UWP] Custom Capability的使用


    Custom Capability 是uwp开发中普通开发者较为不常用的内容,但是在一些OEM和驱动厂商,使用频率比较高

    Custom Capability 有两种用户:

      1.普通应用程序开发者;

      2.Custom Capability 拥有者(一般为OEM,驱动厂商,比如Realtek,Dolby,Intel)

    一、对于应用程序的开发者

      (可以去这儿看微软的官方文档:https://docs.microsoft.com/en-us/windows-hardware/drivers/devapps/using-a-custom-capability-to-pair-hsa-with-driver

      1.获取自己 App 的 PFN (Package Family Name)

        注意:PFN不能自己填,在 Windows Developer Center 中创建 你自己的 App 后,PFN就已经定下来了,不能更改,所以可以去 微软开发者中心的 Dashborad 中,查看自己 App 的 PFN.

      2.获取 Certificate Signature Hash

    C:WindowsSystem32certutil.exe -dump 证书名称

        在打印出的信息中,找到 “Signature Hash”

        注意:证书需要使用最终上传应用商店所使用的证书,这个证书会在你创建上传往商店的程序包时,VS自动生成,后缀为 ".cer"。

      3.提交1、2步骤取得的 PFN 和 Hash 值,一般是发送给你需要使用的 Custom Capability 的提供者,他们会为你生成一个 SCCD (Signed custom capability Descriptor) 文件 

        注意:其实很大程度上,app 的开发者就是 custom capability 的提供者,如果真不是,你可以选择电话,邮件,微信和提供者取得联系。

      4.将SCCD文件放到你App工程根目录,并在工程中引用,并将该文件的 Build Action 设置成为 Content

      5.在 App 的配置清单文件中添加对该 Custom Capability 的引用    

    <Capabilities>
        <uap4:CustomCapability Name=”CompanyName.customCapabilityName_Publisher ID” />
    </Capabilities>

      至此,就可以使用该 Custom Capability 所支持的 Driver 或者 RPC service 了。

      备注:

        通常 Custom Capability 的拥有者对你的应用添加签名需要一定时间,十天半个月是有可能的,所以为了不影响你的开发进度,可以在开发者模式下,使用一个测试的 SCCD 文件,文件配置如下  

    <?xml version="1.0" encoding="utf-8"?>
    <CustomCapabilityDescriptor xmlns="http://schemas.microsoft.com/appx/2016/sccd" xmlns:s="http://schemas.microsoft.com/appx/2016/sccd">
    <CustomCapabilities>
        <CustomCapability Name="你要使用的 Custom Capability 的名称"></CustomCapability>
    </CustomCapabilities>
    <AuthorizedEntities>
        <AuthorizedEntity AppPackageFamilyName="你的 APP 的 PFN " CertificateSignatureHash="64个字母数字组合"></AuthorizedEntity>
    </AuthorizedEntities>
    <Catalog>FFFF</Catalog>
    </CustomCapabilityDescriptor>

      等到正式的 SCCD 文件签名完成后,就可以替换这个 测试版的文件了。

    待续......

  • 相关阅读:
    一句话评论设计模式六大原则
    keystore和truststore
    对于纯Java项目,JVM 各个类加载器的加载目标是什么?
    Keytool 使用总结
    饥饿的消费者(Hungry Consumer)模型
    javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: No trusted c
    如何判断对象已死?
    JMX 管理
    通过 jstat gcutil 来学习JVM 内存分配策略与 GC 发生时机
    程序员也应该有点艺术范儿,不要把“老年代”叫成“Old Generation”
  • 原文地址:https://www.cnblogs.com/cjw1115/p/7884876.html
Copyright © 2020-2023  润新知