SerialDevice.GetDeviceSelectorFromUsbVidPid(UInt16, UInt16) 方法

定义

获取高级查询语法 (AQS) 字符串,应用可以传递给 DeviceInformation.FindAllAsync ,以便通过指定其 VID 和 PID 来查找特定的串行到 USB 设备。

public:
 static Platform::String ^ GetDeviceSelectorFromUsbVidPid(unsigned short vendorId, unsigned short productId);
 static winrt::hstring GetDeviceSelectorFromUsbVidPid(uint16_t const& vendorId, uint16_t const& productId);
public static string GetDeviceSelectorFromUsbVidPid(ushort vendorId, ushort productId);
function getDeviceSelectorFromUsbVidPid(vendorId, productId)
Public Shared Function GetDeviceSelectorFromUsbVidPid (vendorId As UShort, productId As UShort) As String

参数

vendorId
UInt16

unsigned short

uint16_t

指定 USB 规范委员会分配的设备供应商标识符。 可能的值为 0 到 0xffff。

productId
UInt16

unsigned short

uint16_t

指定产品标识符。 此值由制造商分配,特定于设备。 可能的值为 0 到 0xffff。

返回

String

Platform::String

winrt::hstring

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

示例

此示例代码演示如何通过指定串行到 USB 设备的供应商/产品 ID 来获取 SerialDevice 对象。


protected override async void OnLaunched1(LaunchActivatedEventArgs args)
{
    UInt32 vid = 0x045E;
    UInt32 pid = 0x078F;

    string aqs = SerialDevice.GetDeviceSelectorFromUsbVidPid(vid, pid);

    var myDevices = await Windows.Devices.Enumeration.DeviceInformation.FindAllAsync(aqs, null);

    if (myDevices.Count == 0)
    {
        ShowError("Device not found!");
        return;
    }

    using SerialDevice device = await SerialDevice.FromIdAsync(myDevices[0].Id);

}


适用于