INDICATION_PARAMETERS结构(bthddi.h)

INDICATION_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

在回调函数的 指示 参数中指定了 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 回调函数 应根据蓝牙驱动程序堆栈传入回调函数的 指示 参数中的值以不同的方式处理此结构。

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

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

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

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

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

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

要求

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

另请参阅

CHANNEL_CONFIG_PARAMETERS

INDICATION_CODE

L2CAP 回调函数

L2CAP_CONFIG_OPTION

L2CAP_DISCONNECT_REASON