IOCTL_BTHX_READ_HCI IOCTL (bthxddi.h)
IOCTL_BTHX_READ_HCI digunakan untuk membaca Data dan Peristiwa ACL Bluetooth dari lapisan transportasi.
Kode utama
Buffer input
Driver profil harus menggunakan KMDF dan metode WdfRequestRetrieveInputMemory untuk mengambil parameter input. Misalnya, untuk mendapatkan buffer output:
Status = WdfRequestRetrieveInputMemory(_Request, &ReqInMemory);
Untuk informasi selengkapnya, lihat sampel WDK Bluetooth.
Panjang buffer input
Buffer menjelaskan UCHAR yang mewakili jenis bacaan. Panjang buffer adalah ukuran UCHAR.
Buffer output
Driver profil harus menggunakan KMDF dan metode WdfRequestRetrieveOutputMemory untuk mengambil parameter input. Misalnya, untuk mendapatkan buffer output:
Status = WdfRequestRetrieveOutputMemory(_Request, &ReqOutMemory);
Untuk informasi selengkapnya, lihat sampel WDK Bluetooth.
Panjang buffer output
Anggota AssociatedIrp.SystemBuffer menunjuk ke buffer yang menyimpan struktur BTHX_HCI_READ_WRITE_CONTEXT dan data tambahan yang terkait dengan bacaan. Buffer harus cukup besar untuk menyimpan peristiwa terbesar atau paket Data ACL, tergantung pada jenis paketnya.
Untuk paket peristiwa, paket tersebut FIELD_OFFSET(BTHX_HCI_READ_WRITE_CONTEXT, Data) +257 di mana 257 adalah jumlah header peristiwa 2-byte dan data peristiwa 255 byte.
Untuk paket Data ACL, paket tersebut FIELD_OFFSET(BTHX_HCI_READ_WRITE_CONTEXT, Data) + MaxAclTransferInSize di mana MaxAclTransferInSize adalah nilai dalam BTHX_CAPABILITIES yang dikembalikan dari driver transportasi dengan IOCTL_BTHX_QUERY_CAPABILITIES.
Blok status
Anggota Informasi dari struktur STATUS_BLOCK diatur ke jumlah byte data yang dikembalikan.
Anggota Status diatur ke salah satu nilai dalam tabel berikut ini.
Nilai status | Deskripsi |
---|---|
STATUS_SUCCESS | IOCTL berhasil diselesaikan. |
STATUS_CANCELLED | IOCTL telah dibatalkan. |
Keterangan
Buffer input menunjuk ke jenis paket yang sedang dibaca.
Buffer output menunjuk ke struktur BTHX_HCI_READ_WRITE_CONTEXT yang anggota DataLen-nya menentukan jumlah byte dalam anggota Data . Anggota Jenis harus diatur ke sama dengan jenis paket Input.
Anggota Informasi STATUS_BLOCK harus diatur ke FIELD_OFFSET(BTHX_HCI_READ_WRITE_CONTEXT, Data) + DataLen.
Ukuran maksimum anggota Data untuk bacaan ACL ditentukan oleh MaxAclTransferInSize, yang ditentukan dalam struktur BTHX_CAPABILITIES. Ukuran maksimum anggota Data untuk suatu peristiwa adalah 255.
IOCTL ini harus mengembalikan STATUS_SUCCESS hanya dalam operasi normal. Kesalahan khusus transportasi tidak boleh dikembalikan. IOCTL harus mengembalikan STATUS_CANCELLED hanya jika IOCTL ini telah dibatalkan.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Didukung dimulai dengan Windows 8. |
Header | bthxddi.h |
IRQL | <= PASSIVE_LEVEL |
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