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) |