Пример #1
0
        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;
        }