UsbDevice.GetDeviceClassSelector(UsbDeviceClass) 方法

定义

获取高级查询语法 (AQS) 字符串,应用可以传递给 DeviceInformation.FindAllAsync 以查找特定类型的 USB 设备。

public:
 static Platform::String ^ GetDeviceClassSelector(UsbDeviceClass ^ usbClass);
 static winrt::hstring GetDeviceClassSelector(UsbDeviceClass const& usbClass);
public static string GetDeviceClassSelector(UsbDeviceClass usbClass);
function getDeviceClassSelector(usbClass)
Public Shared Function GetDeviceClassSelector (usbClass As UsbDeviceClass) As String

参数

usbClass
UsbDeviceClass

应用指定的设备类的 UsbDeviceClass 对象。

返回

String

Platform::String

winrt::hstring

格式化为 AQS 查询的字符串。

示例

protected override async void OnLaunched(LaunchActivatedEventArgs args)
{
    byte deviceClass = 0xf0;
    byte deviceSubclass = 0x01;

    var myDevices = await Windows.Devices.Enumeration.DeviceInformation.FindAllAsync(
                          UsbDevice.GetDeviceClassSelector(
                          new UsbDeviceClass() {
                          Class = deviceClass, Subclass = deviceSubclass }));

    UsbDevice device = null;

    foreach (var device in myDevices)
    {
        if (IsMyDevice(device))
        {
            device = await UsbDevice.FromIdAsync(device.Id);
        }
    }

    if (device == null)
    {
        ShowError("Usb device not found");
        return;
    }

}

注解

可以通过指定类代码、子类代码或协议代码,在枚举的设备集合中搜索 UsbDevice 。 为此,请按以下步骤操作:

  1. 通过指定 ClassCodeSubclassCodeProtocolCode 属性值创建 UsbDeviceClass 对象。 或者,可以通过指定特定的 UsbDeviceClasses 属性来调用构造函数。
  2. 调用 GetDeviceClassSelector 并传递该新类。 调用将检索 AQS 字符串。
  3. 调用 FindAllAsync 并传递字符串以获取 UsbDevice 对象。

适用于