Mulai menggunakan pengembangan USB
Perangkat Universal Serial Bus (USB) mendefinisikan kemampuan dan fiturnya melalui konfigurasi, antarmuka, pengaturan alternatif, dan titik akhir. Topik ini memberikan gambaran umum tingkat tinggi tentang konsep-konsep tersebut. Untuk detailnya, lihat spesifikasi USB di Universal Serial Bus Documents.
Di bagian ini
Topik | Deskripsi |
---|---|
Tata letak perangkat USB | Perangkat USB mendefinisikan kemampuan dan fiturnya melalui konfigurasi, antarmuka, pengaturan alternatif, dan titik akhir. Topik ini memberikan gambaran umum tingkat tinggi tentang konsep-konsep tersebut. |
Deskriptor USB standar | Perangkat USB menyediakan informasi tentang dirinya sendiri dalam struktur data yang disebut deskriptor USB. Bagian ini menyediakan informasi tentang perangkat, konfigurasi, antarmuka, dan deskriptor titik akhir serta cara untuk mengambilnya dari perangkat USB. |
Titik akhir USB dan pipanya | Perangkat USB memiliki titik akhir yang digunakan untuk transfer data. Di sisi host, titik akhir diwakili oleh pipa. Topik ini membedakan antara kedua istilah tersebut. |
USB di Windows - FAQ | Topik ini menyajikan pertanyaan yang sering diajukan untuk pengembang driver yang baru mengembangkan dan mengintegrasikan perangkat dan driver USB dengan sistem operasi Windows. |
Skenario USB umum
1—Dapatkan handel perangkat untuk komunikasi dan gunakan handel atau objek yang diambil untuk mengirim transfer data.
Driver klien | Aplikasi UWP | Aplikasi desktop Windows |
---|---|---|
KMDF: WdfUsbTargetDeviceCreateWithParameters UMDF: IWDFUsbTargetDevice |
UsbDevice Cara menyambungkan ke perangkat USB |
WinUsb_Initialize Menulis aplikasi desktop Windows berdasarkan templat WinUSB |
Pengambilan deskriptor USB untuk mendapatkan informasi tentang konfigurasi perangkat, antarmuka, pengaturan, dan titik akhirnya.
2—Konfigurasikan perangkat untuk memilih konfigurasi dan pengaturan USB aktif per antarmuka.
Driver klien | Aplikasi UWP | Aplikasi desktop Windows |
---|---|---|
KMDF: WdfUsbTargetDeviceSelectConfig WdfUsbTargetDeviceCreateUrb USBD_SelectConfigUrbAllocateAndBuild WdfUsbInterfaceSelectSetting Cara memilih konfigurasi untuk perangkat USB. Cara memilih pengaturan alternatif di antarmuka USB. UMDF: Pemilihan konfigurasi tidak didukung IWDFUsbInterface::SelectSetting |
UsbInterfaceSetting.SelectSettingAsync Cara memilih pengaturan antarmuka USB |
WinUsb_SetCurrentAlternateSetting |
3—Kirim transfer kontrol untuk mengonfigurasi perangkat dan melakukan perintah vendor yang khusus untuk perangkat tertentu.
4—Kirim transfer massal, biasanya digunakan oleh perangkat penyimpanan massal yang mentransfer data dalam jumlah besar.
5—Kirim transfer interupsi. Data dibaca untuk mengambil data gangguan perangkat keras.
Driver klien | Aplikasi UWP | Aplikasi desktop Windows |
---|---|---|
Sama seperti transfer massal | UsbInterruptInPipe.DataReceived UsbInterruptOutPipe.OutputStream Cara mengirim permintaan transfer interupsi USB |
Sama seperti transfer massal |
6—Kirim transfer isochronous, yang sebagian besar digunakan untuk perangkat streaming media.
Driver klien | Aplikasi UWP | Aplikasi desktop Windows |
---|---|---|
KMDF: WdfUsbTargetDeviceCreateIsochUrb Cara mentransfer data ke titik akhir isochronous USB UMDF: Tidak didukung |
Tidak didukung | WinUsb_RegisterIsochBuffer WinUsb_UnregisterIsochBuffer WinUsb_WriteIsochPipeAsap WinUsb_ReadIsochPipeAsap WinUsb_WriteIsochPipe WinUsb_ReadIsochPipe WinUsb_GetCurrentFrameNumber WinUsb_GetAdjustedFrameNumber Mengirim transfer isochronous USB dari aplikasi desktop WinUSB |
7—Selektif USB ditangguhkan untuk memungkinkan perangkat memasuki status daya rendah dan membuat perangkat kembali ke status berfungsi.
Driver klien | Aplikasi UWP | Aplikasi desktop Windows |
---|---|---|
KMDF: WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS WdfDeviceAssignS0IdleSettings UMDF: IWDFUsbTargetDevice::SetPowerPolicy IWDFDevice2::AssignS0IdleSettings IWDFDevice3::AssignS0IdleSettingsEx Cara mengirim perangkat ke penangguhan selektif |
Tidak didukung | WinUsb_SetPowerPolicy WinUSB Power Management |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk