Menginstal perangkat Bluetooth

Penting

Artikel ini untuk programmer. Jika Anda adalah pelanggan yang mengalami masalah penginstalan perangkat Bluetooth, lihat Memasangkan perangkat Bluetooth di Windows

Ada dua jenis penginstalan untuk driver profil Bluetooth:

  • Penginstalan di sisi klien untuk perangkat jarak jauh di mana perangkat tersebut mempromosikan layanannya dan komputer tersambung kepadanya. Contohnya meliputi: mouse, keyboard, dan printer.
  • Penginstalan di sisi server di mana komputer mengiklankan jasa dan perangkat jarak jauh dapat terhubung ke komputer untuk menggunakan jasa tersebut. Misalnya, vendor dapat menulis penginstalan sisi server untuk mengaktifkan perangkat seluler untuk mencetak ke printer yang terpasang pada komputer.

Kedua jenis penginstalan ini memerlukan prosedur penginstalan yang berbeda.

Menginstal driver profil pihak klien

Pengguna yang ingin menggunakan perangkat berkemampuan Bluetooth membawa perangkat dalam rentang komputer dan memulai koneksi dari komputer ke perangkat jarak jauh menggunakan urutan penginstalan berikut untuk driver profil sisi klien.

  1. Pilih Tambahkan perangkat Bluetooth di Panel Kontrol untuk menemukan semua perangkat dalam rentang komputer.
  2. Pilih perangkat yang akan dipasangkan.
  3. Pasangkan perangkat dengan radio lokal, yang mungkin atau mungkin tidak melibatkan pertukaran PIN.
  4. Radio lokal mengeluarkan pertanyaan Service Discovery Protocol (SDP) untuk mengidentifikasi layanan yang didukung pada perangkat jarak jauh.
  5. Panduan Pemasangan Perangkat Keras Baru mencari pengandar yang sesuai pada hard disk lokal dan pada Windows Update.
  6. Jika Wisaya Perangkat Keras Baru Ditemukan tidak menemukan driver yang sesuai untuk perangkat, maka akan meminta pengguna untuk menyisipkan media penginstalan driver profil yang berisi file informasi penyetelan perangkat driver profil (file INF).

Menginstal driver profil sisi server

Tumpukan driver Bluetooth mendukung GUID layanan seperti yang didefinisikan oleh Bluetooth SIG, dan GUID kustom yang tidak ditentukan oleh Bluetooth SIG.

Nota

Alat guidgen.exe yang disediakan dengan Microsoft Windows SDK dapat digunakan untuk membuat GUID kustom.

Aplikasi penginstalan mode pengguna harus ditulis untuk mengekspos fungsionalitas komputer yang dapat digunakan perangkat Bluetooth jarak jauh.

Aplikasi penginstalan harus berkomunikasi dengan driver stack Bluetooth untuk membuat GUID layanan sehingga fungsionalitas dapat diperlihatkan. Vendor menentukan GUID layanan dalam aplikasi dan dalam file INF penginstalan perangkat mereka.

Aplikasi penginstalan harus memanggil API mode pengguna BluetoothSetLocalServiceInfo. Sebelum aplikasi dapat memanggil API ini, aplikasi harus memiliki hak istimewa keamanan SE_LOAD_DRIVER_NAME. Contoh kode berikut menunjukkan cara mendapatkan hak istimewa ini. Perhatikan bahwa contoh tidak menunjukkan penanganan kesalahan.

HANDLE procToken;
LUID luid;
TOKEN_PRIVILEGES tp;

OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &procToken);

LookupPrivilegeValue(NULL, SE_LOAD_DRIVER_NAME, &luid);

tp.PrivilegeCount = 1;
tp.Privileges[0].Luid = luid;
tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;

AdjustTokenPrivileges(procToken, FALSE, &tp, sizeof(TOKEN_PRIVILEGES), (PTOKEN_PRIVILEGES) NULL, (PDWORD)NULL);

Profil driver file INF

File INF dari driver profil berisi informasi tentang perangkat Bluetooth untuk penginstalan pihak klien. Untuk penginstalan sisi server, file INF menentukan ID perangkat yang sesuai dengan GUID layanan yang dibuat oleh aplikasi penginstalan. Semua perangkat Bluetooth adalah anggota kelas Bluetooth . Penginstal kelas Bluetooth (Bthci.dll) membantu menginstal driver profil.

Untuk informasi selengkapnya tentang membuat dan mendistribusikan file INF dan menginstal driver, lihat Membuat File INF dan Bagian File INF dan Direktif.

Plug and Play ID

Tumpukan driver Bluetooth menghasilkan ID perangkat keras sesuai dengan templat berikut:

  • BTHENUM\{ ServiceGUID}_VID& nnnnnnnn
  • BTHENUM\{ ServiceGUID}_VID& nnnnnnnn_PID& nnnn
  • BTHENUM\{ ServiceGUID}_LOCALMFG& nnnn

Tumpukan driver Bluetooth menghasilkan ID yang kompatibel sesuai dengan templat berikut:

  • BTHENUM\{ ServiceGUID}

ServiceGUID adalah GUID 16-bit yang diperluas menjadi GUID 128-bit, seperti yang didefinisikan oleh spesifikasi Bluetooth. Misalnya, {00001124-0000-1000-8000-00805F9B34FB} sesuai dengan perangkat HID.

  • Delapan digit berikut VID& sesuai dengan kode ID vendor.
  • Empat digit setelah PID& mengacu pada kode ID produk.
  • Empat digit berikut LOCALMFG & sesuai dengan produsen radio Bluetooth lokal.
  • Tag VID/PID dan LOCALMFG independen satu sama lain.

ID perangkat yang paling umum adalah ServiceGUID dengan sendirinya. Contohnya:

BTHENUM\{00001124-0000-1000-8000-00805F9B34FB}

Tumpukan driver Bluetooth dapat dibatasi untuk memuat driver profil dan perangkat lunak Anda untuk berjalan hanya pada rilis tertentu dari perangkat jarak jauh dengan menggunakan ID Plug and Play di perangkat jarak jauh dan file INF. Tumpukan driver Bluetooth menghasilkan pasangan VID/PID hanya jika perangkat menerbitkan ID Plug and Play yang dapat dideteksi tumpukan menggunakan SDP. Contohnya:

BTHENUM\{00001124-0000-1000-8000-00805F9B34FB}_VID& nnnnnnnn_PID& nnnn

Tumpukan driver Bluetooth dapat dibatasi untuk memuat driver profil dan perangkat lunak untuk berjalan hanya pada radio Bluetooth lokal tertentu dengan menentukan tag LOCALMFG di ID perangkat dalam file INF Anda. Contohnya:

BTHENUM\{00001124-0000-1000-8000-00805F9B34FB}_LOCALMFG& nnnn