-
Notifications
You must be signed in to change notification settings - Fork 811
/
bluetooth-faq--appendix-b.yml
104 lines (82 loc) · 5.71 KB
/
bluetooth-faq--appendix-b.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
### YamlMime:FAQ
metadata:
title: An Example of a Vendor-Provided INF File in Windows Vista
description: This appendix includes an example of how to implement a vendor-provided INF file that references Bth.inf.
ms.date: 08/31/2022
ms.localizationpriority: medium
ms.topic: faq
title: 'Appendix B: An Example of a Vendor-Provided INF File for Use in Windows Vista'
summary: |
sections:
- name: Ignored
questions:
- question: |
Appendix B: An Example of a Vendor-Provided INF File for Use in Windows Vista
answer: |
This appendix includes an example of how to implement a vendor-provided INF file that references Bth.inf. This particular example is implemented to install a radio that is compatible with version 2.0 plus EDR of the Bluetooth specification in Windows XP or Windows Vista. The INF files for other types of Bluetooth devices are similar.
This INF file can be used to install the device on the following versions of Windows:
- All SKUs of the 32-bit version of Windows XP SP2 and later service packs.
- All SKUs of the 64-bit version of Windows XP
- All SKUs of Windows Vista
> [!NOTE]
> This INF file cannot be used with Windows 2000, Windows Server 2003, or any versions of Windows XP that have not been upgraded to at least SP2. Also, a vendor-provided INF file is not necessary for Windows 7 because any USB device that has a USB\\Class\_E0&SubClass\_01&Prot\_01 hardware ID will install as a **Generic Bluetooth Adapter** in Windows 7.
For an explanation of the highlighted sections and directives, see the numbered notes after the following sample:
```cpp
; XYZ Vendor INF File for Bluetooth Radio
;
; A sample INF for a stand-alone Bluetooth radio that does not
; have native Windows Vista support
; [1]
[Version]
Signature = "$Windows NT$"
Provider = %ProviderName%
Class = Bluetooth
CLASSGUID = {e0cbf06c-cd8b-4647-bb8a-263b43f0f974};
DriverVer = 10/28/2006,6.0.0.0 ;
CatalogFile.NT = BTHXYZ1.CAB
[ControlFlags]
ExcludeFromSelect=*
[SourceDisksNames]
1=%SourceDisk%,,1
[Manufacturer]
%ManufacturerName% = XYZBth,NT.5.1,NTx86,NTamd64
; Match on a hardware ID generated by the device, for x86 and x64.
; [2]
[ZYXBth.NT.5.1]
%BthRadio1% = Bt1.NT.5.1, USB\VID_xxxx&PID_yyyy
[ZYXBth.NTx86]
% BthRadio1% = Bt1.NT.5.1, USB\VID_xxxx&PID_yyyy
[ZYXBth.NTamd64]
% BthRadio1% = Bt1.NT.5.1, USB\VID_xxxx&PID_yyyy
; Windows XP specific sections -------------------------
; [3]
[Bt1.NT.5.1]
include = bth.inf
needs = BthUsb.NT
[Bt1.NT.5.1.HW]
include = bth.inf
needs = BthUsb.NT.HW
DelReg = DeleteRegKeys
[Bt1.NT.5.1.Services]
include = bth.inf
needs = BthUsb.NT.Services
; [4]
[DeleteRegKeys]
; Delete support for the Microsoft FaxService
HKLM,"SYSTEM\CurrentControlSet\Services\Bthport\Parameters\UnsupportedServices","{00001111-0000-1000-8000-00805f9b34fb}"
[Strings]
; While strings are localizable, in this sample INF, we have
; not created any localized strings.
ProviderName = "Vendor XYZ (c)"
ManufacturerName = "Vendor XYZ (c)"
BthRadio1 = "Bluetooth 2.0+EDR Model 3.2 from XYZ (c)"
SourceDisk = "Windows Vista CD"
```
**Notes:**
1. The **Version** section should have the **CLASSGUID** and **DriverVer** directives set as follows:
- **CLASSGUID**: Use the Microsoft class GUID for Bluetooth devices ({e0cbf06c cd8b-4647-bb8a-263b43f0f974}), not a third-party GUID.
- **DriverVer**: If you want to supersede the default in-box driver, the driver date and version must be set to provide a higher ranking match than what is in Bth.inf. For more information, see [How Windows Ranks Driver Packages](../install/how-setup-ranks-drivers--windows-vista-and-later-.md)
2. Hardware IDs. The combination of the VID and the PID must be unique to the manufacturer and device. This ensures that the same hardware ID does not correspond to multiple devices.
3. **Include** and **Needs** directives. The **Include** directives in these three sections reference Bth.inf. The **Needs** directives indicate which sections from Bth.inf should be processed during device installation.
4. The **DelReg** directive, which references the **DeleteRegKeys** section, deletes registry keys or values that prevent Windows from creating a PDO or devnode for a device. For example, the fax service profile is currently on the Windows Vista list of unsupported services, so it is a value of the **UnsupportedServices** registry key. This example deletes the fax services profile from the **UnsupportedServices** key, which lets Windows create a devnode for the device.
We strongly recommend that you run the latest WHQL tests on the device and INF file and publish the INF file package on Windows Update. This ensures that customers can automatically download the INF file from the Internet when they connect their new Bluetooth radio to their computer.