| 8 | extern CHAR chIniPath[MAX_PATH]; |
| 9 | |
| 10 | static void ListFileHeader(HWND hListView) |
| 11 | { |
| 12 | int nIndex = 0; |
| 13 | HWNP_HEADER fwHeader; //firmware header |
| 14 | WCHAR wsTemp[128]; |
| 15 | |
| 16 | DragAcceptFiles(hListView, FALSE); |
| 17 | ListView_SetView(hListView, LV_VIEW_DETAILS); |
| 18 | ListView_SetExtendedListViewStyle(hListView, LVS_EX_DEFAULT); |
| 19 | |
| 20 | |
| 21 | ListView_AddColumn(hListView, 96, 0, L"文件偏移"); |
| 22 | ListView_AddColumn(hListView, 256, 1, L"成员数值"); |
| 23 | ListView_AddColumn(hListView, 384, 2, L"成员描述"); |
| 24 | |
| 25 | if (HWNP_GetFirmwareHeader(&fwHeader) != 0) return; |
| 26 | |
| 27 | |
| 28 | swprintf_s(wsTemp, SF_HEX, OffsetOf(HWNP_HEADER, BasicFileHeader.u32Magic)); |
| 29 | ListView_AddItemW(hListView, ItemIndex(nIndex), 0, wsTemp, LT_NONE, 0, 0, 0); |
| 30 | swprintf_s(wsTemp, SF_HEX, fwHeader.BasicFileHeader.u32Magic); |
| 31 | ListView_AddItemW(hListView, ItemIndex(nIndex), 1, wsTemp, LT_NONE, 0, 0, 0); |
| 32 | ListView_AddItemW(hListView, ItemIndexPlus(nIndex), 2, L"Magic # 魔法签名 (Little-Endian)", LT_NONE, 0, 0, 0); |
| 33 | |
| 34 | |
| 35 | swprintf_s(wsTemp, SF_HEX, OffsetOf(HWNP_HEADER, BasicFileHeader.beu32FileSize)); |
| 36 | ListView_AddItemW(hListView, ItemIndex(nIndex), 0, wsTemp, LT_NONE, 0, 0, 0); |
| 37 | swprintf_s(wsTemp, SF_HEX_DEC, BigLittleSwap32(fwHeader.BasicFileHeader.beu32FileSize), BigLittleSwap32(fwHeader.BasicFileHeader.beu32FileSize)); |
| 38 | ListView_AddItemW(hListView, ItemIndex(nIndex), 1, wsTemp, LT_NONE, 0, 0, 0); |
| 39 | ListView_AddItemW(hListView, ItemIndexPlus(nIndex), 2, L"FileSize # 文件大小 (Big-Endian)", LT_NONE, 0, 0, 0); |
| 40 | |
| 41 | |
| 42 | swprintf_s(wsTemp, SF_HEX, OffsetOf(HWNP_HEADER, BasicFileHeader.u32FileCRC32)); |
| 43 | ListView_AddItemW(hListView, ItemIndex(nIndex), 0, wsTemp, LT_NONE, 0, 0, 0); |
| 44 | swprintf_s(wsTemp, SF_HEX, fwHeader.BasicFileHeader.u32FileCRC32); |
| 45 | ListView_AddItemW(hListView, ItemIndex(nIndex), 1, wsTemp, LT_NONE, 0, 0, 0); |
| 46 | ListView_AddItemW(hListView, ItemIndexPlus(nIndex), 2, L"FileCRC32 # 文件CRC32 (Little-Endian)", LT_NONE, 0, 0, 0); |
| 47 | |
| 48 | |
| 49 | swprintf_s(wsTemp, SF_HEX, OffsetOf(HWNP_HEADER, FileHeader2.u32HeaderSize)); |
| 50 | ListView_AddItemW(hListView, ItemIndex(nIndex), 0, wsTemp, LT_NONE, 0, 0, 0); |
| 51 | swprintf_s(wsTemp, SF_HEX_DEC, fwHeader.FileHeader2.u32HeaderSize, fwHeader.FileHeader2.u32HeaderSize); |
| 52 | ListView_AddItemW(hListView, ItemIndex(nIndex), 1, wsTemp, LT_NONE, 0, 0, 0); |
| 53 | ListView_AddItemW(hListView, ItemIndexPlus(nIndex), 2, L"HeaderSize # 头部大小 (Little-Endian)", LT_NONE, 0, 0, 0); |
| 54 | |
| 55 | |
| 56 | swprintf_s(wsTemp, SF_HEX, OffsetOf(HWNP_HEADER, FileHeader2.u32HeaderCRC32)); |
| 57 | ListView_AddItemW(hListView, ItemIndex(nIndex), 0, wsTemp, LT_NONE, 0, 0, 0); |
| 58 | swprintf_s(wsTemp, SF_HEX, fwHeader.FileHeader2.u32HeaderCRC32); |
| 59 | ListView_AddItemW(hListView, ItemIndex(nIndex), 1, wsTemp, LT_NONE, 0, 0, 0); |
| 60 | ListView_AddItemW(hListView, ItemIndexPlus(nIndex), 2, L"HeaderCRC32 # 头部CRC32 (Little-Endian)", LT_NONE, 0, 0, 0); |
| 61 | |
| 62 | |
| 63 | swprintf_s(wsTemp, SF_HEX, OffsetOf(HWNP_HEADER, PacketHeader.u32ItemCount)); |
| 64 | ListView_AddItemW(hListView, ItemIndex(nIndex), 0, wsTemp, LT_NONE, 0, 0, 0); |
| 65 | swprintf_s(wsTemp, SF_HEX_DEC, fwHeader.PacketHeader.u32ItemCount, fwHeader.PacketHeader.u32ItemCount); |
| 66 | ListView_AddItemW(hListView, ItemIndex(nIndex), 1, wsTemp, LT_NONE, 0, 0, 0); |
| 67 | ListView_AddItemW(hListView, ItemIndexPlus(nIndex), 2, L"ItemCount # 项目信息计数 (Little-Endian)", LT_NONE, 0, 0, 0); |
no test coverage detected