public string UnloadHandleValueData(byte[] data, ref int index, int totalLength, int dataLength, ref string handleStr, ref string valueStr, ref bool dataErr, string strDataName, ref List<HCIReplies.HandleData> handleData) { string value = string.Empty; string dataStr = string.Empty; valueStr = string.Empty; handleStr = string.Empty; ushort handle = ushort.MaxValue; dataErr = false; int num2 = totalLength; byte bits = (byte)0; if (dataLength != 0) { while (num2 > 0 && !dataErr) { if (num2 < dataLength) break; try { HCIReplies.HandleData handleData1 = new HCIReplies.HandleData(); handle = ushort.MaxValue; handle = m_dataUtils.Unload16Bits(data, ref index, ref dataErr, false); handleData1.Handle = handle; int length = dataLength - 2; handleData1.Data = new byte[length]; for (int index1 = 0; index1 < length && !dataErr; ++index1) { m_dataUtils.Unload8Bits(data, ref index, ref bits, ref dataErr); handleData1.Data[index1] = bits; valueStr += string.Format("{0:X2} ", bits); dataStr = (index1 == length - 1) ? dataStr + string.Format("{0:X2}", bits) : dataStr + string.Format("{0:X2}:", bits); CheckLineLength(ref dataStr, (uint)index1, true); } handleData.Add(handleData1); } catch (Exception ex) { m_msgBox.UserMsgBox(SharedObjects.MainWin, MsgBox.MsgTypes.Error, string.Format("Unload Handle Value Data Failed\nMessage Data Transfer Issue.\n\n{0}\n", ex.Message)); dataErr = true; } handleStr += string.Format("0x{0:X4} ", handle); value = string.Format(" Handle\t\t: 0x{0:X4}\n", handle) + string.Format(" {0}\t\t: {1:S}\n", strDataName, dataStr); dataStr = string.Empty; num2 -= dataLength; } } return value; }