有段代码看不懂 求指教

idea_yuye 2011-10-18 10:58:41
这是我从mobile6的例子Microsoft.WindowsMobile.SharedSource.Bluetooth
里面copy出来的一段代码,应该是C#调用非托管代码的,第一个数组里的 定义的数字 (应该是16进制的) 我实在看不懂这些数字有什么用?

private static byte[] GenerateSDPRecord(Guid serviceGuid, int channel)
{
// build the most basic SDP record specifying the service GUID and channel

byte[] sdpRecord = new byte[] { 0x35, 0x00, 0x09, 0x00, 0x01, 0x35, 0x11, 0x1c,
/* guid goes here */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* L2CAP + RFCOMM */ 0x09, 0x00, 0x04, 0x35, 0x0c, 0x35, 0x03, 0x19,
0x01, 0x00, 0x35, 0x05, 0x19, 0x00, 0x03, 0x08,
/* channel number here */ 0x00 };

// set sdp record length
sdpRecord[1] = Convert.ToByte(sdpRecord.Length - 2);

// copy in the service guid in network byte order
byte[] guidArray = serviceGuid.ToByteArray();

sdpRecord[8] = guidArray[3];
sdpRecord[9] = guidArray[2];
sdpRecord[10] = guidArray[1];
sdpRecord[11] = guidArray[0];

sdpRecord[12] = guidArray[5];
sdpRecord[13] = guidArray[4];

sdpRecord[14] = guidArray[7];
sdpRecord[15] = guidArray[6];

Array.Copy(guidArray, 8, sdpRecord, 16, 8);

// last byte is the RFCOMM channel
sdpRecord[sdpRecord.Length - 1] = Convert.ToByte(channel);

return sdpRecord;
}
...全文
65 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
idea_yuye 2011-10-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 stonespace 的回复:]
你要看注释,这个方法创建一个sdp记录,你可以去查蓝牙的sdp协议,可以知道记录的格式,而前面一大段则是sdp记录通常包括的数据,当然这些数据在下面的代码中会修改,
[/Quote]
感谢指点,虽然不完全明白 但是有方向了
li1966958059 2011-10-18
  • 打赏
  • 举报
回复
不太懂!!!
stonespace 2011-10-18
  • 打赏
  • 举报
回复
你要看注释,这个方法创建一个sdp记录,你可以去查蓝牙的sdp协议,可以知道记录的格式,而前面一大段则是sdp记录通常包括的数据,当然这些数据在下面的代码中会修改,
cf_nxcxy 2011-10-18
  • 打赏
  • 举报
回复
加密?????

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧