私が書こうとしているUWPアプリケーションに問題があります。私がプログラムしたカスタムの組み込みUSBバルクデバイスに接続しています(これは実際にはサイプレスセミコンダクタの箱の例です)。 WinUSB.sysドライバを呼び出すためにカスタムINFファイルを書き出す必要がなく、デバイスを使用できるようにするには、デバイスの埋め込みMS OS文字列を使用してWinUSB.sysドライバを使用しています。UWP/C# - AQSとUSBデバイスに関する問題
私のコードでは、UsbDevice.GetDeviceSelectorメソッドを使用してAQSを返し、DeviceInformation.FindAllAsyncに渡して、アプリケーションでデバイスと通信を開始することができます。デバイスが問題なくデバイスマネージャに表示されていることを確認しました。レジストリにチェックインして、インターフェイスGUIDがあることを確認しました。私はUSBViewerからデバイスの構成を表示するスクリーンショットを持っています。 USBデバイスを見つけて接続するこの方法は、このMSDNの例であるhereにあります。
UsbDevice.GetDeviceSelectorメソッドを使用すると、このデバイスに関連付けられていないGUIDが返されます。それが返すGUIDは実際にLumia電話(DEE824EF-729B-4A0E-9C14-B7117D33A817)に関連付けられています。このため、私のデバイスはシステムに接続されていません。
問題を解決するために、デバイスのリストが表示されているかどうかを確認するために、引数を指定せずにDeviceInformation.FindAllAsyncを呼び出しています(私のマシンに接続されている1000以上のデバイスの中にデバイスがあります)。私はGetDeviceSelectorメソッドの助けを借りずにカスタムAQS文字列を書き、GUIDだけで始まりました。これで27個のデバイスが返されましたが、このAQS文字列にVIDとPIDを追加しようとしたときに何も返されませんでした。
また、カスタムクラス0xFFのデバイスに必要なデバイスの適切なVIDとPIDによって、使用するデバイスがアプリケーションマニフェストにリストされていることを確認しました。私はカスタムUSB UWPデバイスの例を使用していますが、デバイスを見つけることはできますが、デバイスピッカーでは全く別の方法を使用していますが、必要に応じてこれを実行しますが、ソリューションのクリーンではありません。
この質問をMSDNフォーラムhereに投稿しましたが、詳しい情報はありますが、私はそこで多くの関与を得ていません。どんな助けもありがとう。私は単純なものを見逃しているに違いないことを知っています。
アダム
private async void button_Click(object sender, RoutedEventArgs e)
{
//UInt32 vid = 0x04B4;
//UInt32 pid = 0x00F0;
UInt32 vid = uint.Parse(textBox1.Text, System.Globalization.NumberStyles.HexNumber);
UInt32 pid = UInt32.Parse(textBox2.Text, System.Globalization.NumberStyles.HexNumber);
Guid winusbInterfaceGuid = new Guid("a5dcbf10-6530-11d2-901f-00c04fb951ed");
//string aqs = UsbDevice.GetDeviceSelector(vid, pid);
string aqs = UsbDevice.GetDeviceSelector(winusbInterfaceGuid);
var myDevices = await DeviceInformation.FindAllAsync(aqs, null);
//var myDevices = await DeviceInformation.FindAllAsync();
var myDevicesCount = myDevices.Count;
if (myDevicesCount >= 1)
{
textBlock2.Text = "Device Found";
} else
{
textBlock2.Text = "Searching";
await Task.Delay(1000);
textBlock2.Text = "looking for device";
}
}
私は2つ以上のリンクを追加できませんでした申し訳ありません。アップロードする写真は2枚ありましたが、新しいユーザーとしては限られていました。 – Adam
最新の[CustomUsbDeviceAccess](https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/CustomUsbDeviceAccess)サンプルを試してください。完全な別の方法は使用しません。aqを作成するためには 'var osrFx2Selector = UsbDevice.GetDeviceSelector(OsrFx2.DeviceVid、OsrFx2.DevicePid); 'を使用します。そして 'CreateWatcher'メソッドを呼び出します。あなたのaqsを公式のサンプルと比較してください。 –
公式のサンプルがうまくいくと言われているように、既にあなたのための解決策があることを意味します。確認して、あなたと何が違うのかを比較してください。 –