Supporting new Bluetooth services

Hi,
As far as I understand the MS Bluetooth driver stack implementation
currently supports only three services (Dial Up Networking, HID and
printers).

  1. Can someone please explain or refer me to documentation about writing new
    drivers for this driver stack?
  2. Where does Windows store the list of UUIDs that it attaches to the
    ServiceSearchRequest SDP_PDU?

Thanks,
Shahar.

Current the driver model for the msft stack is not documented and open
to 3rd party innovation. This will probably change in the future. If
your protocol is RFCOMM based, you can use sockets in user mode to
implement your service. SDP searching is also exposed through sockets.

Not sure what the 2nd question is. SDP searches are done dynamically.
The UUIDs in the search are determined by the client asking for the
data. If you mean how the stack knows what to service to enumerate for
which device, that data is cached away and is private to the driver and
is subject to change from release to release (which it has already
done).

d

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Shahar Talmi
Sent: Tuesday, November 23, 2004 9:58 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] Supporting new Bluetooth services

Hi,
As far as I understand the MS Bluetooth driver stack implementation
currently supports only three services (Dial Up Networking, HID and
printers).

  1. Can someone please explain or refer me to documentation about writing
    new
    drivers for this driver stack?
  2. Where does Windows store the list of UUIDs that it attaches to the
    ServiceSearchRequest SDP_PDU?

Thanks,
Shahar.


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

Hid Doron.

I read something about SDP searching exposed through winsock, but the RFCOMM
interface through winsock is new to me. Can you direct me to the
documentation on this? Does this mean a user mode application may
communicate with a device without needing any driver loaded for the service
?

About the second question: From the little reading I’ve done about SDP I
understood that for windows to know that my cell phone supports DUN it has
to query it with a list of service UUIDs, in reply the cell phone gives the
subset of this service UUID list that it supports. Since the current
implementation only supports three types of services I guess it always sends
a list of the three of them when it queries a device (any device). When
windows will support new services they will have to be added to this list,
and if an Administrator does not want some service used by the users I think
that removing the service UUID from the list might be a good sollution (that
is if Microsoft does not expose a better place to configure this). My
question is where is this list stored.

I’ll even add a third question:
Is it currently possible for windows to expose services to be used by othe
bluetooth devices?

Thanks,
Shahar

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Doron Holan
Sent: Tuesday, November 23, 2004 8:10 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Supporting new Bluetooth services

Current the driver model for the msft stack is not documented and open to
3rd party innovation. This will probably change in the future. If your
protocol is RFCOMM based, you can use sockets in user mode to implement your
service. SDP searching is also exposed through sockets.

Not sure what the 2nd question is. SDP searches are done dynamically.
The UUIDs in the search are determined by the client asking for the data.
If you mean how the stack knows what to service to enumerate for which
device, that data is cached away and is private to the driver and is subject
to change from release to release (which it has already done).

d

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Shahar Talmi
Sent: Tuesday, November 23, 2004 9:58 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] Supporting new Bluetooth services

Hi,
As far as I understand the MS Bluetooth driver stack implementation
currently supports only three services (Dial Up Networking, HID and
printers).

  1. Can someone please explain or refer me to documentation about writing new
    drivers for this driver stack?
  2. Where does Windows store the list of UUIDs that it attaches to the
    ServiceSearchRequest SDP_PDU?

Thanks,
Shahar.


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@windows.microsoft.com To
unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com

SDP: I would start here (beware of wrap)

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/bluetoo
th/bluetooth/bluetooth_and_wsalookupservicebegin_for_service_discovery.a
sp

The MS stack queries for all records and the pairing down of what
services are supported is done after the full query is returned. The
list, looking at %windir%\inf\bth.inf is under
hklm\system.…\bthport\parameters{service class UUID}:

ie

; HID
HKLM,%Bthport.Parameters%\SupportedServices,“{00001124-0000-1000-8000-00
805f9b34fb}”,0x00010003,1
; HCRP
HKLM,%Bthport.Parameters%\SupportedServices,“{00001126-0000-1000-8000-00
805f9b34fb}”,0x00010003,1
; DUN
HKLM,%Bthport.Parameters%\SupportedServices,“{00001103-0000-1000-8000-00
805f9b34fb}”,0x00010003,1

Yes, you can expose services (on top of RFCOMM only right now for the
same reasons you can’t write a driver). See the link above.

d

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Shahar Talmi
Sent: Tuesday, November 23, 2004 10:57 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Supporting new Bluetooth services

Hid Doron.

I read something about SDP searching exposed through winsock, but the
RFCOMM
interface through winsock is new to me. Can you direct me to the
documentation on this? Does this mean a user mode application may
communicate with a device without needing any driver loaded for the
service
?

About the second question: From the little reading I’ve done about SDP I
understood that for windows to know that my cell phone supports DUN it
has
to query it with a list of service UUIDs, in reply the cell phone gives
the
subset of this service UUID list that it supports. Since the current
implementation only supports three types of services I guess it always
sends
a list of the three of them when it queries a device (any device). When
windows will support new services they will have to be added to this
list,
and if an Administrator does not want some service used by the users I
think
that removing the service UUID from the list might be a good sollution
(that
is if Microsoft does not expose a better place to configure this). My
question is where is this list stored.

I’ll even add a third question:
Is it currently possible for windows to expose services to be used by
othe
bluetooth devices?

Thanks,
Shahar

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Doron Holan
Sent: Tuesday, November 23, 2004 8:10 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Supporting new Bluetooth services

Current the driver model for the msft stack is not documented and open
to
3rd party innovation. This will probably change in the future. If your
protocol is RFCOMM based, you can use sockets in user mode to implement
your
service. SDP searching is also exposed through sockets.

Not sure what the 2nd question is. SDP searches are done dynamically.
The UUIDs in the search are determined by the client asking for the
data.
If you mean how the stack knows what to service to enumerate for which
device, that data is cached away and is private to the driver and is
subject
to change from release to release (which it has already done).

d

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Shahar Talmi
Sent: Tuesday, November 23, 2004 9:58 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] Supporting new Bluetooth services

Hi,
As far as I understand the MS Bluetooth driver stack implementation
currently supports only three services (Dial Up Networking, HID and
printers).

  1. Can someone please explain or refer me to documentation about writing
    new
    drivers for this driver stack?
  2. Where does Windows store the list of UUIDs that it attaches to the
    ServiceSearchRequest SDP_PDU?

Thanks,
Shahar.


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@windows.microsoft.com
To
unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument:
‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com