Cara memilih pengaturan antarmuka USB (aplikasi UWP)

Artikel ini menunjukkan cara mengubah pengaturan dalam antarmuka USB. Gunakan objek UsbInterfaceSetting untuk mendapatkan pengaturan saat ini dan mengatur pengaturan di antarmuka.

Sebelum memulai

Tentang pengaturan antarmuka USB

Setiap antarmuka USB mengekspos satu atau beberapa titik akhir yang dikelompokkan dalam pengaturan antarmuka. Pengaturan tersebut ditentukan perangkat dan diidentifikasi dengan angka yang disebut indeks pengaturan. Setiap antarmuka hanya boleh memiliki satu pengaturan aktif. Untuk beberapa perangkat antarmuka, setiap antarmuka harus memiliki pengaturan aktif. Jika pengaturan aktif, data dapat ditransfer ke atau dari titik akhirnya. Titik akhir dalam pengaturan non-aktif dinonaktifkan untuk transfer data.

Pengaturan dikatakan aktif setelah dipilih pada perangkat. Pengaturan aktif default adalah pengaturan pertama antarmuka.

Setiap pengaturan diwakili oleh objek UsbInterfaceSetting . Dengan menggunakan objek , aplikasi UWP Anda dapat melakukan operasi ini:

  • Tentukan apakah pengaturan tertentu aktif saat menghitung semua pengaturan dalam antarmuka.
  • Memulai permintaan yang memilih pengaturan.

Untuk informasi tentang pengaturan antarmuka USB, lihat Tata letak perangkat USB.

Mendapatkan pengaturan aktif antarmuka USB

  1. Dapatkan objek UsbInterface dari objek UsbDevice yang diperoleh sebelumnya. Contoh kode ini mendapatkan antarmuka pertama dalam konfigurasi USB. Untuk perangkat multi-antarmuka, Anda bisa mendapatkan objek UsbInterface yang ingin Anda gunakan dengan menghitung semua antarmuka. Anda bisa mendapatkan array tersebut melalui nilai properti UsbConfiguration.UsbInterfaces .
  2. Dapatkan semua pengaturan yang ditentukan dalam antarmuka sebagai array objek UsbInterfaceSetting dengan mendapatkan nilai properti UsbInterface.InterfaceSettings .
  3. Hitung array dan di setiap perulangan periksa apakah pengaturan aktif dengan memeriksa properti UsbInterfaceSetting.Selected .

Contoh kode ini menunjukkan cara mendapatkan nomor pengaturan untuk semua pengaturan yang ditentukan dalam antarmuka default.

void GetInterfaceSetting (UsbDevice device)
{
        auto interfaceSettings = device.InterfaceSettings;

        for each(UsbInterfaceSetting interfaceSetting in interfaceSettings)
        {
            if (interfaceSetting->Selected)
            {
                uint8 interfaceSettingNumber = interfaceSetting.InterfaceDescriptor.AlternateSettingNumber;

                // Use the interface setting number. Not shown.

                break;
            }
        }
}

Mengatur pengaturan antarmuka USB

Untuk memilih pengaturan yang saat ini tidak aktif, Anda harus menemukan objek UsbInterfaceSetting untuk pengaturan yang akan dipilih lalu memulai operasi asinkron dengan memanggil metode UsbInterfaceSetting.SelectSettingAsync . Operasi tidak mengembalikan nilai.

private async void SetInterfaceSetting(UsbDevice device, Byte settingNumber)
{
    var interfaceSetting = device.DefaultInterface.InterfaceSettings[settingNumber];

    await interfaceSetting.SelectSettingAsync();

    MainPage.Current.NotifyUser("Interface Setting is set to " + settingNumber, NotifyType.StatusMessage);
}

Lihat juga