private void ToolStripMenuItem_testWriteContentToNewChip_Click(object sender, EventArgs e) { #if NO // 准备好一个芯片内容 byte[] data = Element.FromHexString( @"91 00 05 1c be 99 1a 14 02 01 d0 14 02 04 b3 46 07 44 1c b6 e2 e3 35 d6 83 02 07 ac c0 9e ba a0 6f 6b 00 00" ); // 测试 BlockRange.GetBlockRanges() List <BlockRange> ranges = BlockRange.GetBlockRanges( data, "ll....lll", 4); Debug.Assert(ranges[0].BlockCount == 2); Debug.Assert(ranges[0].Locked == true); Debug.Assert(ranges[0].Bytes.SequenceEqual( Element.FromHexString( @"91 00 05 1c be 99 1a 14" ) )); Debug.Assert(ranges[1].BlockCount == 4); Debug.Assert(ranges[1].Locked == false); Debug.Assert(ranges[1].Bytes.SequenceEqual( Element.FromHexString( @"02 01 d0 14 02 04 b3 46 07 44 1c b6 e2 e3 35 d6" ) )); Debug.Assert(ranges[2].BlockCount == 3); Debug.Assert(ranges[2].Locked == true); Debug.Assert(ranges[2].Bytes.SequenceEqual( Element.FromHexString( @"83 02 07 ac c0 9e ba a0 6f 6b 00 00" ) )); #endif GetTagInfoResult result = _driver.GetTagInfo(GetCurrentReaderName(), null); MessageBox.Show(this, "初始芯片内容: " + result.ToString()); TagInfo new_chip = result.TagInfo.Clone(); new_chip.Bytes = Element.FromHexString( @"91 00 05 1c be 99 1a 14 02 01 d0 14 02 04 b3 46 07 44 1c b6 e2 e3 35 d6 83 02 07 ac c0 9e ba a0 6f 6b 00 00"); new_chip.LockStatus = "ww....www"; NormalResult write_result = _driver.WriteTagInfo(GetCurrentReaderName(), result.TagInfo, new_chip); MessageBox.Show(this, write_result.ToString()); }