UsbDevice.GetDeviceClassSelector(UsbDeviceClass) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取高级查询语法 (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 对象。
返回
格式化为 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 。 为此,请按以下步骤操作:
- 通过指定 ClassCode、SubclassCode 和 ProtocolCode 属性值创建 UsbDeviceClass 对象。 或者,可以通过指定特定的 UsbDeviceClasses 属性来调用构造函数。
- 调用 GetDeviceClassSelector 并传递该新类。 调用将检索 AQS 字符串。
- 调用 FindAllAsync 并传递字符串以获取 UsbDevice 对象。