bluetoothSetLocalServiceInfo 函数 (bluetoothapis.h)

BluetoothSetLocalServiceInfo 函数设置特定蓝牙无线电的本地服务信息。

语法

DWORD BluetoothSetLocalServiceInfo(
  [in, optional] HANDLE                             hRadioIn,
  [in]           const GUID                         *pClassGuid,
  [in]           ULONG                              ulInstance,
  [in]           const BLUETOOTH_LOCAL_SERVICE_INFO *pServiceInfoIn
);

参数

[in, optional] hRadioIn

用于指定本地服务信息的蓝牙无线电设备的句柄。 如果 为 NULLBluetoothSetLocalServiceInfo 将搜索第一个可用的本地蓝牙无线电。

[in] pClassGuid

要公开的服务的 GUID。 这应与服务器端 INF 文件中的 GUID 匹配。

[in] ulInstance

即插即用 (PnP) ID 的设备节点的实例 ID。

[in] pServiceInfoIn

指向描述要设置的本地服务的 BLUETOOTH_LOCAL_SERVICE_INFO 结构的指针。

返回值

BluetoothSetLocalServiceInfo 函数返回以下值:

返回代码 描述
ERROR_NOT_FOUND
未检测到指定的蓝牙无线电。
ERROR_BAD_UNIT
未检测到蓝牙无线电。
STATUS_INSUFFICIENT_RESOURCES
没有足够的资源来完成操作。 当超过 100 个本地物理设备对象 (PDO) 对应于蓝牙服务时,可能会收到此错误。
STATUS_PRIVILEGE_NOT_HELD
调用方没有所需的权限。 有关如何提升特权的信息,请参阅“备注”部分。

注解

BluetoothSetLocalServiceInfo 是用户模式 API,仅由配置文件驱动程序开发人员用来触发安装 pClassGuid 中服务 GUID 描述的本地服务。

BluetoothSetLocalServiceInfo 以“BTHENUM{ClassGuid}”的形式生成即插即用 (PnP) 设备 ID。 例如“BTHENUM{xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}”。 用户模式应用程序可以使用同一服务 GUID 调用 BluetoothSetLocalServiceInfo 后续时间,但使用不同的实例 ID 创建指定服务器端配置文件的多个实例。

若要使用蓝牙 API(如 BluetoothSetLocalServiceInfo),用户模式应用程序应与 BthProps.lib 链接。

警告 调用 BluetoothSetLocalServiceInfo 的过程必须具有 SE_LOAD_DRIVER_NAME 特权。 在系统或管理员上下文中运行的进程可以使用 SDK LookupPrivilegeValueAdjustTokenPrivileges 函数提升其特权。 有关此操作的详细信息,请参阅 安装蓝牙设备
 
BLUETOOTH_LOCAL_SERVICE_INFO结构在 SDK BluetoothApis.h 头文件中定义。

要求

   
最低受支持的客户端 Windows Vista 及更高版本中的版本:_Supported。
目标平台 通用
标头 bluetoothapis.h
Library BthProps.lib
DLL bthprops.cpl;BluetoothAPIs.dll

另请参阅

BLUETOOTH_LOCAL_SERVICE_INFO