INDICATION_PARAMETERS 结构 (bthddi.h)

INDICATION_PARAMETERS 结构作为 Parameters 参数传递给配置文件驱动程序的 L2CAP 回调函数

语法

typedef struct _INDICATION_PARAMETERS {
  L2CAP_CHANNEL_HANDLE ConnectionHandle;
  IN BTH_ADDR          BtAddress;
  union {
    struct {
      struct {
        OUT USHORT PSM;
      } Request;
    } Connect;
    struct {
      CHANNEL_CONFIG_PARAMETERS CurrentParams;
      CHANNEL_CONFIG_PARAMETERS RequestedParams;
      CHANNEL_CONFIG_PARAMETERS ResponseParams;
      USHORT                    Response;
    } ConfigRequest;
    struct {
      CHANNEL_CONFIG_PARAMETERS CurrentParams;
      CHANNEL_CONFIG_PARAMETERS RequestedParams;
      CHANNEL_CONFIG_PARAMETERS RejectedParams;
      PCO_TYPE                  UnknownTypes;
      ULONG                     NumUnknownTypes;
      CHANNEL_CONFIG_PARAMETERS NewRequestParams;
      USHORT                    Response;
    } ConfigResponse;
    struct {
      ULONG                NumExtraOptions;
      PL2CAP_CONFIG_OPTION ExtraOptions;
    } FreeExtraOptions;
    struct {
      L2CAP_DISCONNECT_REASON Reason;
      BOOLEAN                 CloseNow;
    } Disconnect;
    struct {
      ULONG PacketLength;
      ULONG TotalQueueLength;
    } RecvPacket;
  } Parameters;
} *PINDICATION_PARAMETERS, INDICATION_PARAMETERS;

成员

ConnectionHandle

远程设备的 L2CAP 连接句柄。 此句柄仅对通过已建立的 L2CAP 连接到达的通知有效。

BtAddress

远程设备的蓝牙地址。

Parameters

Parameters.Connect

包含 IndicationRemoteConnect 回调函数的参数的结构。

Parameters.Connect.Request

包含连接请求的参数的结构。

Parameters.Connect.Request.PSM

在回调函数的 Indication 参数中指定IndicationRemoteConnectINDICATION_CODE值时,协议/服务多路复用器 (PSM ) 传递给调用函数。

Parameters.ConfigRequest

包含 IndicationRemoteConfigRequestINDICATION_CODE 值参数的结构。

Parameters.ConfigRequest.CurrentParams

包含当前通道参数 的CHANNEL_CONFIG_PARAMETERS 结构。 仅当通道以前打开且现在处于配置过程中时,此值才有效。 回调函数指定 IndicationRemoteConfigRequestINDICATION_CODE 值时使用此成员。

Parameters.ConfigRequest.RequestedParams

一个CHANNEL_CONFIG_PARAMETERS结构,其中包含从远程主机为配置请求传递的参数。 回调函数指定 IndicationRemoteConfigRequestINDICATION_CODE 值时使用此成员。

Parameters.ConfigRequest.ResponseParams

一个CHANNEL_CONFIG_PARAMETERS结构,其中包含配置文件驱动程序用于响应配置请求的参数。

Parameters.ConfigRequest.Response

指示配置请求状态的标志。 下表中列出了有效的标志值。

标志 描述
CONFIG_STATUS_SUCCESS 配置请求成功。
CONFIG_STATUS_DISCONNECT 配置请求失败,因为 L2CAP 连接已断开连接。
CONFIG_STATUS_INVALID_PARAMETER 配置请求失败,因为向配置文件驱动程序传递了无效参数。
CONFIG_STATUS_REJECT 配置文件驱动程序拒绝了配置请求。
CONFIG_STATUS_UNKNOWN_OPTION 配置请求失败,因为配置文件驱动程序无法识别指定的配置选项之一。

Parameters.ConfigResponse

包含 IndicationRemoteConfigResponseINDICATION_CODE 值参数的结构。

Parameters.ConfigResponse.CurrentParams

包含当前通道参数 的CHANNEL_CONFIG_PARAMETERS 结构。 仅当通道以前打开且现在处于配置过程中时,此值才有效。 回调函数指定 IndicationRemoteConfigRequestINDICATION_CODE 值时使用此成员。

Parameters.ConfigResponse.RequestedParams

一个CHANNEL_CONFIG_PARAMETERS结构,其中包含从远程主机为配置请求传递的参数。 回调函数指定 IndicationRemoteConfigRequestINDICATION_CODE 值时使用此成员。

Parameters.ConfigResponse.RejectedParams

*CHANNEL_CONFIG_PARAMETERS 结构,其中包含远程设备拒绝的配置参数设置。

Parameters.ConfigResponse.UnknownTypes

响应设备无法识别的类型数组。

Parameters.ConfigResponse.NumUnknownTypes

UnknownTypes 成员中无法识别的类型数。

Parameters.ConfigResponse.NewRequestParams

*CHANNEL_CONFIG_PARAMETERS 结构,其中包含回调函数的参数设置,以便在远程设备返回响应后重新提交。

Parameters.ConfigResponse.Response

指示配置请求状态的标志。 下表中列出了有效的标志值。

标志 描述
CONFIG_STATUS_SUCCESS 配置请求成功。
CONFIG_STATUS_DISCONNECT 配置请求失败,因为 L2CAP 连接已断开连接。
CONFIG_STATUS_INVALID_PARAMETER 配置请求失败,因为向配置文件驱动程序传递了无效参数。
CONFIG_STATUS_REJECT 配置文件驱动程序拒绝了配置请求。
CONFIG_STATUS_UNKNOWN_OPTION 配置请求失败,因为配置文件驱动程序无法识别指定的配置选项之一。

Parameters.FreeExtraOptions

包含 IndicationFreeExtraOptionsINDICATION_CODE 值参数的结构。

Parameters.FreeExtraOptions.NumExtraOptions

ExtraOptions 成员中包含的额外选项数。

Parameters.FreeExtraOptions.ExtraOptions

ExtraOptions 成员中包含的额外选项数。

Parameters.Disconnect

包含 IndicationRemoteDisconnectINDICATION_CODE 值参数的结构。

Parameters.Disconnect.Reason

一个L2CAP_DISCONNECT_REASON值,该值指示终止与远程设备的 L2CAP 连接的原因。

Parameters.Disconnect.CloseNow

配置文件驱动程序用于通知蓝牙驱动程序堆栈关闭 L2CAP 连接的布尔值。 将此成员设置为 TRUE 以通知蓝牙驱动程序堆栈关闭连接。 否则,将其设置为 FALSE 以保持连接打开状态。

Parameters.RecvPacket

包含IndicationRecvPacketINDICATION_CODE值参数 的结构

Parameters.RecvPacket.PacketLength

回调函数通过 L2CAP 连接发送的数据包的大小(以字节为单位)。

Parameters.RecvPacket.TotalQueueLength

要通过 L2CAP 连接处理的数据包数。

注解

配置文件驱动程序的 L2CAP 回调函数 应以不同的方式处理此结构,具体取决于蓝牙驱动程序堆栈在回调函数的 Indication 参数中传递的值。

  • 当蓝牙驱动程序堆栈通过 IndicationRemoteConnect 时,回调函数应使用参数联合的 Connect 成员。

  • 当蓝牙驱动程序堆栈通过 IndicationRemoteDisconnect 时,回调函数应使用 Parameters 联合的 Disconnect 成员。

  • 当蓝牙驱动程序堆栈通过 IndicationRemoteConfigRequest 时,回调函数应使用参数联合的 ConfigRequest 成员。

  • 当蓝牙驱动程序堆栈通过 IndicationRemoteConfigResponse 时,回调函数应使用 Parameters 联合的 ConfigResponse 成员。

  • 当蓝牙驱动程序堆栈通过 IndicationRemoteFreeExtraOptions 时,回调函数应使用参数联合的 FreeExtraOptions 成员。

  • 当蓝牙驱动程序堆栈通过 IndicationRemoteRecvPacket 时,回调函数应使用参数联合的 RecvPacket 成员。

要求

要求
最低受支持的客户端 版本:Windows Vista 及更高版本中的 _Supported。
标头 bthddi.h (包括 Bthddi.h)

另请参阅

CHANNEL_CONFIG_PARAMETERS

INDICATION_CODE

L2CAP 回调函数

L2CAP_CONFIG_OPTION

L2CAP_DISCONNECT_REASON