bluetoothSdpGetString 函数 (bluetoothapis.h)

BluetoothSdpGetString 函数将 SDP 记录中嵌入的原始字符串转换为 Unicode 字符串。

语法

DWORD BluetoothSdpGetString(
  [in]      LPBYTE                      pRecordStream,
  [in]      ULONG                       cbRecordLength,
  [in]      const PSDP_STRING_TYPE_DATA pStringData,
  [in]      USHORT                      usStringOffset,
  [out]     PWSTR                       pszString,
  [in, out] PULONG                      pcchStringLength
);

参数

[in] pRecordStream

指向格式化为单个 SDP 记录的有效记录流的指针。

[in] cbRecordLength

pRecordStream 的长度(以字节为单位)。

[in] pStringData

设置为 NULL 时,调用线程区域设置用于在 SDP 记录中搜索匹配的字符串。 如果不是 NULL,则使用 SDP_STRING_TYPE_DATA 结构的 mibeNumattributeId 成员来查找要转换的字符串。

[in] usStringOffset

要转换的 SDP 字符串类型偏移量。 usStringOffset 将添加到字符串的基属性标识符。 SDP 规范定义的偏移量为:STRING_NAME_OFFSET、STRING_DESCRIPTION_OFFSET和STRING_PROVIDER_NAME_OFFSET。 可以在 bthdef.h 头文件中找到这些偏移量。

[out] pszString

如果不是 NULL,则包含输出中转换后的字符串。 如果设置为 NULL则 pcchStringLength 参数将填充所需的字符数(而不是字节数)以检索转换后的字符串。

[in, out] pcchStringLength

输入时,如果 pszString 不是 NULL,则包含 pszString 的长度(以字符为单位)。

输出时,包含所需的字符数,包括返回错误时为 NULL ,或写入 pszString 的字符数,包括 NULL

返回值

成功完成后返回ERROR_SUCCESS; pszString 参数包含转换后的字符串。 失败时返回错误代码。 下表列出了常见错误。

返回代码 说明
ERROR_MORE_DATA
pszString 参数为 NULL 或太小,无法包含转换后的字符串;pcchStringLength 参数包含所需的长度(以字符为单位)。
ERROR_INVALID_DATA
无法执行转换。
ERROR_NO_SYSTEM_RESOURCES
系统无法在内部分配内存来执行转换。
ERROR_INVALID_PARAMETER
所需的指针之一为 NULL,pRecordStream 参数不是有效的 SDP 流,pRecordStream 不是格式正确的记录,或者请求的属性加偏移量不是字符串。

要求

要求
最低受支持的客户端 Windows Vista、Windows XP 和 SP2 [仅限桌面应用]
最低受支持的服务器 无受支持的版本
目标平台 Windows
标头 bluetoothapis.h (包括 Bthsdpdef.h、BluetoothAPIs.h)
Library Bthprops.lib
DLL bthprops.cpl

另请参阅

BluetoothSdpEnumAttributes

BluetoothSdpGetAttributeValue

BluetoothSdpGetContainerElementData

BluetoothSdpGetElementData

SDP_ELEMENT_DATA

SDP_STRING_TYPE_DATA