IOCTL_BTH_GET_DEVICE_INFO IOCTL (bthioctl.h)

Permintaan IOCTL_BTH_GET_DEVICE_INFO mengembalikan informasi tentang semua radio jarak jauh yang di-cache, yang sebelumnya ditemukan yang mendukung Bluetooth.

Kode utama

IRP_MJ_DEVICE_CONTROL

Buffer input

Anggota AssociatedIrp.SystemBuffer menunjuk ke buffer untuk struktur BTH_DEVICE_INFO_LIST .

Panjang buffer input

Panjang struktur BTH_DEVICE_INFO_LIST

Buffer output

Anggota AssociatedIrp.SystemBuffer menunjuk ke buffer yang menyimpan struktur BTH_DEVICE_INFO_LIST . Anggota numOfDevices dari struktur BTH_DEVICE_INFO_LIST berisi jumlah perangkat yang ada informasi dan array struktur BTH_DEVICE_INFO ; satu entri array untuk setiap perangkat.

Panjang buffer output

Jika ukuran buffer output yang diteruskan tidak benar-benar sizeof(BTH_DEVICE_INFO_LIST) ditambah kelipatan yang benar, sizeof(BTH_DEVICE_INFO)permintaan akan gagal dengan STATUS_INVALID_BUFFER_SIZE.

Blok status

Jika permintaan berhasil, anggota Informasi dari struktur STATUS_BLOCK diatur ke ukuran, dalam byte, dari buffer yang menyimpan informasi tentang array perangkat. Struktur BTH_DEVICE_INFO_LIST berisi penyimpanan untuk struktur BTH_DEVICE_INFO pertama, jadi jika tidak ada perangkat yang dikembalikan, anggota Informasi diatur ke ukuran struktur pertama.

Anggota Status diatur ke salah satu nilai dalam tabel berikut ini.

Nilai status Deskripsi
STATUS_SUCCESS IOCTL berhasil diselesaikan.
STATUS_INVALID_PARAMETER Buffer input yang diteruskan adalah NULL.
STATUS_INVALID_BUFFER_SIZE Buffer output tidak berukuran benar.

Keterangan

IOCTL IOCTL_BTH_GET_DEVICE_INFO menyediakan informasi tentang semua radio jarak jauh yang ditemukan sebelumnya.

Anggota numOfDevices dari struktur BTH_DEVICE_INFO_LIST mengembalikan jumlah total struktur BTH_DEVICE_INFO yang dikembalikan oleh IOCTL. Jika driver panggilan lolos dalam buffer yang lebih kecil dari nilai anggota numOfDevices , hanya sebagian dari struktur yang tersedia yang akan dikembalikan. Pengembang driver Bluetooth harus memanggil IOCTL_BTH_GET_DEVICE_INFO dengan buffer kecil terlebih dahulu, misalnya sizeof(BTH_DEVICE_INFO_LIST), lalu menggunakan anggota numOfDevices yang dikembalikan untuk mengukur buffer dengan benar untuk panggilan berikutnya.

Struktur BTH_DEVICE_INFO_LIST mencakup penyimpanan untuk struktur BTH_DEVICE_INFO pertama. Gunakan rumus berikut untuk menghitung ukuran buffer yang benar untuk panggilan ke IOCTL_BTH_GET_DEVICE_INFO: Buffer=sizeof(BTH_DEVICE_INFO_LIST)+(NumOfDevices-1)*sizeof(BTH_DEVICE_INFO).

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Versi:_Supported di Windows Vista, dan yang lebih baru.
Header bthioctl.h (termasuk Bthioctl.h)
IRQL <= PASSIVE_LEVEL

Lihat juga

BTH_DEVICE_INFO

BTH_DEVICE_INFO_LIST