IOCTL_BTHX_READ_HCI IOCTL (bthxddi.h)

IOCTL_BTHX_READ_HCI digunakan untuk membaca Data dan Peristiwa ACL Bluetooth dari lapisan transportasi.

Kode utama

IRP_MJ_DEVICE_CONTROL

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